powered by simpleCommunicator - 2.0.59     © 2025 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / HTML, JavaScript, VBScript, CSS [игнор отключен] [закрыт для гостей] / Как кликнуть в такой текст?
21 сообщений из 21, страница 1 из 1
Как кликнуть в такой текст?
    #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
Как кликнуть в такой текст?
    #39904332
вадя
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Ролг Хупин,

кликают не по тексту , а по элементу HTML
...
Рейтинг: 0 / 0
Как кликнуть в такой текст?
    #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
Как кликнуть в такой текст?
    #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
Как кликнуть в такой текст?
    #39904584
Фотография skyANA
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Ролг Хупин,

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

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


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

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


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

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

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


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

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


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

Дак и где пример твоего "диалога"?
А делается это не по координатам мыши, а через CSS position relative и absolute.
...
Рейтинг: 0 / 0
Как кликнуть в такой текст?
    #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
Как кликнуть в такой текст?
    #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
Как кликнуть в такой текст?
    #39904803
Фотография skyANA
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Ролг Хупин
Вот cshtml, результат поиска и терзаний

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

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

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

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

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

вот пример:


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

вот пример:


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


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

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


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


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

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


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


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

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


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


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


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