Реализация всплывающей подсказки
В интернете полно ресурсов как реализовать с помощью css, но все они статические. С этим проблем не возникло. Кому интересно неплохой demo с исходником http://ruseller.com/lessons.php?rub=2&id=664.
1. Подскажите, как создать всплывающую подсказку так чтобы окно с подсказкой для элемента на странице прорисовывалось относительно курсора мыши. 2. Можно ли обойтись без javascript, а только лишь средствами html и css. Для примера, как реализовано на сайте(просто для примера): http://саженцы-виногра...0%D0%B0%D0%B4/ Если навести курсор на фото винограда появится описание в рамке которое перепрорисовывается при перемещении мыши. К сожалению если скопировать код и сохранить в локальную страницу, то всплывающая подсказка не работает, видимо не подтягивается какой-то ресурс. Потому понять как там сделано до конца не получается. |
Цитата:
|
Цитата:
Он будет двигаться в пределах элемента |
Deff, ага, жесть конечно. :) Но зато без JS. :D
Только все равно нужно будет писать скрипт, который с атрибута будет брать текст и преобразовывать его в картинку, после чего подставлять как url (base64) в cursor. |
Ruslan_xDD,
Гм - ну а чисто скриншот подсказки прописать в css - ? Если элементов немного - не критично ============= //Есть и canvas преобразование текста или html в картинку html2canvas.js |
CSS через :after может делать всплывающую подсказку на блоке, ройте в направлении :hover:after ... там все очень просто ...
|
Частично решил проблему
Для задания координат подсказки для элементов div на все div с name="div2" навешивается Listener который вызывает функцию mousemove_xy в которой собственно и задаются координаты бокса с текстом подсказки. Но в моем случае, для того чтобы получить handle всплывающей подсказки я испольую его id. И пока у меня только один элемент div и один <span id="span2"> на странице. <div id="div2" name="div2" class="div1 photo"> <img src="saperavi-severnyj-250x383.jpg" class="img1"/> <span id="span2">Сорт винограда 'Саперави северный'</span> </div> <script> var divs=document.getElementsByName("div2"); for (i=0; i<divs.length; i++){ divs[i].addEventListener("mousemove", mousemove_xy); } function mousemove_xy(event){ var item2 = document.getElementById("span2"); item2.style.left=event.offsetX+10; item2.style.top=event.offsetY+10; } </script> Как определить для какого div выполняется функция - что бы потом определить просто дочерний span, а не искать его по id? Полагаю нужно использовать оператор this, но как не понятно Напрямую span = this.getElementById("span2"); не работает |
function hide(e) { e.target.style.visibility = 'hidden'; } list.addEventListener('click', hide, false); e.target - вот сюда ))) Через CSS делать не стал? |
Часовой пояс GMT +3, время: 21:53. |