Динамика tooltip
Привет ребят помогите сделать скрипт работающим.
Меня задолбал уже этот jQuery не знаю в чем ошибка. HTML <!-- Главный блок --> <div class="one"> <div class="two">Блок/Полле ввода</div> <div class="info">Информация, (tooltip примерно как в фреймворке boostrap)</div> </div> Оригинал на чистом js:
var elem = document.getElementsByClassName( "two" );
for ( var i = 0; i < elem.length; i++ ) {
if ( elem[ i ].parentNode.getElementsByClassName( 'info' )[ 0 ] ) {
elem[ i ].onmouseenter = function () {
this.parentNode.getElementsByClassName( 'info' )[ 0 ].css.style.display = "block";
}
elem[ i ].onmouseleave = function () {
this.parentNode.getElementsByClassName( 'info' )[ 0 ].css.style.display = "none";
}
}
}
jQuery
var elem = $( ".two" );
for ( var i = 0; i < elem.length; i++ ) {
if ( elem[ i ].parentNode.getElementsByClassName( 'info' )[ 0 ] ) {
elem[ i ].onmouseenter = function () {
...
this.parent() // дальше parent'a ничего не читается
}
elem[ i ].onmouseleave = function () {
...
this.parent() // дальше parent'a ничего не читается
}
}
}
|
Гыгы а где там jquery )))
|
Цитата:
|
я не пойму как на jquery написать рабочий скрипт, заменить весь код оригинального на jquery
|
Phonixe, на чистом JS код лучше и производительней, зачем переписывать его на jQuery? Чтобы сэкономить пару-тройку символов?
|
я знаю что на jQuery хуже такой мелкий код, но мне нужно именно на jQuery посматреть как он будет написан.
уже два дня мучаюсь никак не могу написать |
Ruslan_xDD, а теперь смотрим на таблицу поддержки событий mouseenter/mouseleave и добавляем еще пачку строк некрасивого кода :)
|
Цитата:
|
danik.js, и чёрт с ними, лучше костыль написать, чем целую библиотеку ради пары ф-ций подключать. Просто большинство пользователей jQuery, подключают её ради использования 5-10% её функционала.
Видел даже личностей, которые подключают jQuery ради того, чтобы подключить плагин jQuery.cookie и использовать только getCookie. |
опечатка, скрипт оригинала рабочий, когда переписывл его для форума он несколько иной был, там все правильно работает ну разве что css там нет.
ну так что ребят поможете переписать на jquery? |
Phonixe, Ваш код можно нормально написать в ~5 строк на чистом JS.
|
Вроде есть полифил для mouseenter/leave
|
Ruslan_xDD, каким образом его можно сократить до 5 строк?
|
Цитата:
$(image).animate(
prop,
delay,
function(){
if(!stopped)
play();
}
);
это все ради чего, пока что, у меня подключен живерь моднейшей версии. То есть всего 32Кб кодов, а живери - вот столько. Пользуясь случаем замерил все min версии - охренеть, блин, экономия ажно 8Кб! У меня фотка no_image.png весит раз в пять больше. |
Phonixe,
<!DOCTYPE HTML>
<html>
<head>
<title>Untitled</title>
<meta charset="utf-8">
<style type="text/css">
.info {
display: none;
}
</style>
<script src="http://ajax.googleapis.com/ajax/libs/jquery/1.11.0/jquery.min.js"></script>
<script>
$(function(){
var s = $(".two");
s.on('mouseenter mouseleave',function() {
$('+ .info',this).fadeToggle("slow");
});
});
</script>
</head>
<body>
<div class="one">
<div class="two">Блок/Полле ввода</div>
<div class="info">Информация, (tooltip примерно как в фреймворке boostrap)</div>
</div>
</body>
</html>
|
| Часовой пояс GMT +3, время: 09:25. |