Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / HTML, JavaScript, VBScript, CSS [игнор отключен] [закрыт для гостей] / Как кликнуть в такой текст? / 21 сообщений из 21, страница 1 из 1
17.12.2019, 18:42
    #39904303
Ролг Хупин
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как кликнуть в такой текст?
Есть такой код, имя юзера пишется как текст в цветном круге.
Как сделать такой текст кликабельным?
Т.е. хочу сделать при клике на него выпадает диалог, при клике мимо него диалог прячется.

Код: javascript
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
.username-wrapper {
  display: table;
  width: 40px;
  height: 40px;
  overflow: hidden;
}

.username {
  display: table-cell; 
  vertical-align: middle;
  background-color: red;
  border-radius: 20px;
  text-align: center;
  color: white;
  font-family: Arial;
}
<div class="username-wrapper">
  <div class="username">
    Vasya
  </div>
</div>
...
Рейтинг: 0 / 0
17.12.2019, 19:30
    #39904332
вадя
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как кликнуть в такой текст?
Ролг Хупин,

кликают не по тексту , а по элементу HTML
...
Рейтинг: 0 / 0
18.12.2019, 07:21
    #39904443
krvsa
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как кликнуть в такой текст?
Ролг Хупин
Как сделать такой текст кликабельным?

Как вариант...

Код: html
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
26.
27.
28.
29.
30.
31.
32.
33.
34.
35.
36.
37.
38.
39.
40.
41.
42.
<!DOCTYPE html>
<html>
<head>
<meta http-equiv='Content-Type' content='text/html; charset=windows-1251' />
<!--
<script src='https://code.jquery.com/jquery-latest.js'></script>
<script src="https://code.angularjs.org/1.3.9/angular.min.js"></script>
<script src="https://code.angularjs.org/1.3.9/angular-route.js"></script>
-->
<style type='text/css'>
.username-wrapper {
	display: table;
	width: 40px;
	height: 40px;
	overflow: hidden;
}
.username {
	display: table-cell; 
	vertical-align: middle;
	background-color: red;
	border-radius: 20px;
	text-align: center;
	color: white;
	font-family: Arial;
}
</style>
<script type='text/javascript'>
document.addEventListener('DOMContentLoaded',function(){
	document.querySelector('.username').addEventListener('click',function(){
		alert(this.innerHTML);
	});
});
</script>
</head>
<body>
<div class="username-wrapper">
	<div class="username">
		Vasya
	</div>
</div>
</body>
</html>
...
Рейтинг: 0 / 0
18.12.2019, 11:05
    #39904552
Ролг Хупин
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как кликнуть в такой текст?
krvsa
Ролг Хупин
Как сделать такой текст кликабельным?

Как вариант...

Код: html
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
26.
27.
28.
29.
30.
31.
32.
33.
34.
35.
36.
37.
38.
39.
40.
41.
42.
<!DOCTYPE html>
<html>
<head>
<meta http-equiv='Content-Type' content='text/html; charset=windows-1251' />
<!--
<script src='https://code.jquery.com/jquery-latest.js'></script>
<script src="https://code.angularjs.org/1.3.9/angular.min.js"></script>
<script src="https://code.angularjs.org/1.3.9/angular-route.js"></script>
-->
<style type='text/css'>
.username-wrapper {
	display: table;
	width: 40px;
	height: 40px;
	overflow: hidden;
}
.username {
	display: table-cell; 
	vertical-align: middle;
	background-color: red;
	border-radius: 20px;
	text-align: center;
	color: white;
	font-family: Arial;
}
</style>
<script type='text/javascript'>
document.addEventListener('DOMContentLoaded',function(){
	document.querySelector('.username').addEventListener('click',function(){
		alert(this.innerHTML);
	});
});
</script>
</head>
<body>
<div class="username-wrapper">
	<div class="username">
		Vasya
	</div>
</div>
</body>
</html>



Спасибо, как показать диалог в этом месте клика? точнее, это текст всегда находится в меню bootstrap, как прицепить диалог? ну, как в жмейле при клике на значок справа вверху
...
Рейтинг: 0 / 0
18.12.2019, 11:41
    #39904584
skyANA
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как кликнуть в такой текст?
Ролг Хупин,

тип такого что-ли?
...
Рейтинг: 0 / 0
18.12.2019, 11:42
    #39904586
skyANA
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как кликнуть в такой текст?
...
Рейтинг: 0 / 0
18.12.2019, 12:16
    #39904615
Ролг Хупин
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как кликнуть в такой текст?
skyANA
Ролг Хупин,

тип такого что-ли?


да, именно, наконец-то!

как сделать?
...
Рейтинг: 0 / 0
18.12.2019, 12:18
    #39904617
Ролг Хупин
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как кликнуть в такой текст?
skyANA


точнее - такой, как вторая картинка.
Сейчас у меня в главном меню эти пункты, хотелось бы собрать их и показывать в диалоге.
...
Рейтинг: 0 / 0
18.12.2019, 14:10
    #39904778
krvsa
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как кликнуть в такой текст?
Ролг Хупин
да, именно, наконец-то!
как сделать?

Нарисуй его сразу... Потом скрой... А по клику будешь показывать его.
...
Рейтинг: 0 / 0
18.12.2019, 14:20
    #39904785
Ролг Хупин
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как кликнуть в такой текст?
krvsa
Ролг Хупин
да, именно, наконец-то!
как сделать?

Нарисуй его сразу... Потом скрой... А по клику будешь показывать его.


ок, а прицепить к тому месту, куда юзер кликнул ? (как на картинке)
я экспериментирую, но диалог лепится по центру
...
Рейтинг: 0 / 0
18.12.2019, 14:24
    #39904789
skyANA
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как кликнуть в такой текст?
Ролг Хупин
krvsa
пропущено...

Нарисуй его сразу... Потом скрой... А по клику будешь показывать его.


ок, а прицепить к тому месту, куда юзер кликнул ? (как на картинке)
я экспериментирую, но диалог лепится по центру

Дак и где пример твоего "диалога"?
А делается это не по координатам мыши, а через CSS position relative и absolute.
...
Рейтинг: 0 / 0
18.12.2019, 14:29
    #39904793
Ролг Хупин
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как кликнуть в такой текст?
skyANA
Ролг Хупин
пропущено...


ок, а прицепить к тому месту, куда юзер кликнул ? (как на картинке)
я экспериментирую, но диалог лепится по центру

Дак и где пример твоего "диалога"?
А делается это не по координатам мыши, а через CSS position relative и absolute.



Вот cshtml, результат поиска и терзаний

Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
26.
27.
28.
29.
30.
31.
32.
33.
34.
35.
36.
37.
38.
39.
40.
41.
42.
43.
44.
45.
46.
47.
48.
49.
50.
51.
52.
53.
54.
55.
56.
57.
58.
59.
60.
61.
62.
63.
64.
65.
66.
67.
68.
69.
70.
71.
72.
73.
74.
75.
76.
77.
78.
79.
80.
81.
82.
83.
84.
85.
86.
87.
88.
89.
90.
91.
92.
93.
94.
95.
96.
97.
98.
99.
100.
101.
102.
103.
104.
105.
106.
107.
108.
109.
110.
111.
112.
113.
114.
115.
116.
117.
118.
119.
120.
121.
@using Microsoft.AspNetCore.Identity
@using PM20.Models;

@inject SignInManager<ApplicationUser> SignInManager
@inject UserManager<ApplicationUser> UserManager

<link rel="stylesheet" href="https://code.jquery.com/ui/1.11.1/themes/smoothness/jquery-ui.css" />

<style>
      #targetElement {
        height: 200px;
        margin: 50px;
        background: #9cf;
      }
      .positionDiv {
        position: absolute;
        width: 75px;
        height: 75px;
        background: #080;
      }
    .no-close .ui-dialog-titlebar-close {
        display: none;
    }

    .username-wrapper {
        display: table;
        width: 40px;
        height: 40px;
        overflow: hidden;
    }

    .username {
        display: table-cell;
        vertical-align: middle;
        background-color: magenta;
        border-radius: 20px;
        text-align: center;
        color: white;
        font-family: Arial;
    }

    .usernameAdmin {
        display: table-cell;
        vertical-align: middle;
        background-color: red;
        border-radius: 20px;
        text-align: center;
        color: white;
        font-family: Arial;
    }
</style>
@if (SignInManager.IsSignedIn(User))
{
    <form asp-area="" asp-controller="Account" asp-action="Logout" method="post" id="logoutForm" class="navbar-right">
        <ul class="nav navbar-nav navbar-right">
            <li>
                <a asp-area="" asp-controller="Manage" asp-action="Index" title="Manage">Hello @UserManager.GetUserName(User)!</a>
            </li>
            <li>
                <div class="username-wrapper">
                    @if (User.IsInRole("Administrator"))
                    {
                        <div class="usernameAdmin" onclick='showDialog();'>
                            @UserManager.GetUserName(User).Substring(0, User.ToString().Length >= 2 ? 2 : User.ToString().Length)
                        </div>
                    }
                    else
                    {
                        <div class="username" onclick="showDialog">
                            <a class="username" href=javascript:showDialog()>
                                @UserManager.GetUserName(User).Substring(0, User.ToString().Length >= 2 ? 2 : User.ToString().Length)
                            </a>
                        </div>
                        <div id="dialog2" class="positionDiv" title="Dialog Title" hidden="hidden">I'm a dialog</div>
                    }
                </div>
            </li>
            <li>
                <button type="submit" class="btn btn-link navbar-btn navbar-link">Log off</button>
            </li>
        </ul>
    </form>
}
else
{
    <ul class="nav navbar-nav navbar-right">
        <li><a asp-area="" asp-controller="Account" asp-action="Login">Log in</a></li>
    </ul>
}
<script type='text/javascript'>
    document.addEventListener('DOMContentLoaded', function () {
        document.querySelector('.username').addEventListener('click', function () {
            alert(this.innerHTML);
        });
    });
</script>
<script type="text/javascript">
    function showDialog() {
        $("#dialog2").dialog(
            {
                autoOpen: false,
                modal: false,
                height: "auto",
                width: "auto",
                position:  { my: 'roght top', at: 'top+150' },
                show: {effect: 'fade', speed: 1000},
                hide: { effect: 'fade', speed: 1000 },
                dialogClass: "no-close",
                buttons: [
                    {
                        text: "OK",
                        click: function () {
                            $(this).dialog("close");
                        }
                    }
                ]
        });

        $("#dialog2").dialog('open');
    }
</script>
...
Рейтинг: 0 / 0
18.12.2019, 14:37
    #39904799
skyANA
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как кликнуть в такой текст?
Ролг Хупин,

вот пример:
Код: html
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
26.
27.
28.
29.
30.
31.
32.
33.
34.
35.
36.
37.
38.
39.
40.
41.
42.
43.
44.
45.
46.
47.
48.
49.
50.
51.
52.
53.
54.
55.
56.
<!DOCTYPE html>
<html>
<head>
<meta http-equiv='Content-Type' content='text/html; charset=windows-1251' />
<!--
<script src='https://code.jquery.com/jquery-latest.js'></script>
<script src="https://code.angularjs.org/1.3.9/angular.min.js"></script>
<script src="https://code.angularjs.org/1.3.9/angular-route.js"></script>
-->
<style type='text/css'>
.username-wrapper {
	display: table;
	width: 40px;
	height: 40px;
	position: relative;
}
.username {
  cursor: pointer;
	display: table-cell; 
	vertical-align: middle;
	background-color: red;
	border-radius: 20px;
	text-align: center;
	color: white;
	font-family: Arial;
	position: relative;
}
.popup {
  background-color: white;
  border: 1px solid red;
	border-radius: 4px;
  display: none;
	height: 40px;
	padding: 4px;
  position: absolute;
  left: 0;
  top: 42px;
  width: 200px;
  z-index: 999;
}
</style>
<script type='text/javascript'>
document.addEventListener('DOMContentLoaded',function(){
	document.addEventListener('click',function(event) {
		document.querySelector('.popup').style.display = event.target.classList.contains('username') ? 'block' : 'none';
	});
});
</script>
</head>
<body>
<div class="username-wrapper">
	<div class="username">Vasya</div>
	<div class="popup">Olololo lolololo!<br>Alalala lalalala lalalala!</div>
</div>
</body>
</html>
...
Рейтинг: 0 / 0
18.12.2019, 14:41
    #39904803
skyANA
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как кликнуть в такой текст?
Ролг Хупин
Вот cshtml, результат поиска и терзаний

cshtml? Вот сам его и причёсывай :) Пример выше дал
...
Рейтинг: 0 / 0
18.12.2019, 14:48
    #39904810
krvsa
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как кликнуть в такой текст?
Ролг Хупин
а прицепить к тому месту, куда юзер кликнул ? (как на картинке)

К месту клика цеплять не нужно... Этот диалог должен сразу верстаться в нужном месте. Потом скрываться.
По клику он просто показывается.

Ролг Хупин
я экспериментирую, но диалог лепится по центру

Если не умеешь размещать где нужно - смотри координаты мыши при клике.
https://learn.javascript.ru/mouse-clicks#koordinaty-v-okne-clientx-y
Потом устанавливай в нужное место...
...
Рейтинг: 0 / 0
18.12.2019, 14:51
    #39904816
krvsa
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как кликнуть в такой текст?
Ролг Хупин
Вот cshtml, результат поиска и терзаний

Это форум по html и javascript... В рамках этого ты показываешь какую-то галиматью.
...
Рейтинг: 0 / 0
18.12.2019, 15:19
    #39904850
Ролг Хупин
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как кликнуть в такой текст?
skyANA
Ролг Хупин,

вот пример:


Сработал, спасибо, буду шлифовать.
Кстати, а хвостика, как на картинке - нету
...
Рейтинг: 0 / 0
18.12.2019, 15:30
    #39904861
Ролг Хупин
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как кликнуть в такой текст?
Ролг Хупин
skyANA
Ролг Хупин,

вот пример:


Сработал, спасибо, буду шлифовать.
Кстати, а хвостика, как на картинке - нету


И вот... почему этот попуп остается размером две строки, т.е. Гиги уже не видно

Код: html
1.
2.
3.
4.
5.
 <div class="popup">
                            Olololo lolololo!<br>Alalala lalalala lalalala!
                            Хыхы
                            Гиги
                        </div>
...
Рейтинг: 0 / 0
18.12.2019, 15:36
    #39904868
skyANA
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как кликнуть в такой текст?
Ролг Хупин
Кстати, а хвостика, как на картинке - нету

Ты же хотел как в жмейле...

Хвостик добавляется CSS-ом:
Код: css
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
.popup:after {
  content: '';
  border-bottom: 12px solid white;
  border-left: 12px solid transparent;
  border-right: 12px solid transparent;
  height: 0;
  left: 22px;
  margin: 0 0 0 -11px;
  position: absolute;
  top: -11px;
  width: 0;
}
.popup:before {
  content: '';
  border-bottom: 12px solid red;
  border-left: 12px solid transparent;
  border-right: 12px solid transparent;
  height: 0;
  left: 23px;
  margin: 0 0 0 -12px;
  position: absolute;
  top: -12px;
  width: 0;
}
...
Рейтинг: 0 / 0
18.12.2019, 15:38
    #39904870
skyANA
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как кликнуть в такой текст?
Ролг Хупин
Ролг Хупин
пропущено...


Сработал, спасибо, буду шлифовать.
Кстати, а хвостика, как на картинке - нету


И вот... почему этот попуп остается размером две строки, т.е. Гиги уже не видно

Код: html
1.
2.
3.
4.
5.
 <div class="popup">
                            Olololo lolololo!<br>Alalala lalalala lalalala!
                            Хыхы
                            Гиги
                        </div>


Дык убери ему фиксированную высоту.
...
Рейтинг: 0 / 0
18.12.2019, 15:52
    #39904885
Ролг Хупин
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как кликнуть в такой текст?
skyANA
Ролг Хупин
пропущено...


И вот... почему этот попуп остается размером две строки, т.е. Гиги уже не видно

Код: html
1.
2.
3.
4.
5.
 <div class="popup">
                            Olololo lolololo!<br>Alalala lalalala lalalala!
                            Хыхы
                            Гиги
                        </div>


Дык убери ему фиксированную высоту.


всё, всё, протормозил, поставил auto
...
Рейтинг: 0 / 0
Форумы / HTML, JavaScript, VBScript, CSS [игнор отключен] [закрыт для гостей] / Как кликнуть в такой текст? / 21 сообщений из 21, страница 1 из 1
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]