Jump to content
  • 0

Простой tool tip на JQuery


BassEast
 Share

Question

Привет.

Не могу реализовать такую, простую штуку на JQuery (если это по теме), как на картинке: for_htmlbook.jpg

Есть такой html:

<div class="block">
<a href="">ссылка</a>

текст текст текст... различные дивы <div>текст</div>

<div class="needToShow">этот блок нужно показать</div>

</div>

JQuery:

$(document).ready(function(){

$(".block a").hover(function() {
$(".block").next("div .needToShow").show("fast");
}, function() {
$(".block").next("div .needToShow").hide("fast");
});

});

Так не работает. Я не знаю, как добраться до класса needToShow, подскажите плиз, кто знает.

Link to comment
Share on other sites

8 answers to this question

Recommended Posts

  • 0
BassEast

	  $(document).ready(function()
{
$('.block a').hover(
function(){
$('.needToShow').show();
},
function(){
$('.needToShow').hide();
});
});

В том то и дело, что мне нужно, чтобы по hover показывался блок в этом диве, а не все блоки на странице.

Link to comment
Share on other sites

  • 0

Ладно, тогда так

	  $(document).ready(function()
{
$('.block a').hover(
function(){
$(this).siblings('.needToShow').show();
},
function(){
$(this).siblings('.needToShow').hide();
});
});

Upd.

Можно также перенести .needToShow непосредственно под саму ссылку. Тогда можно будет использовать $(this).next

Edited by sigma77
Link to comment
Share on other sites

  • 0

Вот оно, поколение JQ...

У вас есть структура DOM. Есть нода-активатор, есть скрытый блок.

При нажатии на ноду активатор нужно подняться к какому-то паренту, который содержит и ноду-активатор, и скрытый блок. Этим парентом является элемент с классом block.

В этом паренте запускаем функцию, которая найдет скрытый блок внутри и активирует его.

Link to comment
Share on other sites

  • 0
s0rr0w,

Ты имеешь ввиду сделать это на чистом JavaScript?

Это можно и на JQ сделать. Инструмент не суть важен.

Мышление важнее.

http://api.jquery.com/parent/

		  $('.block a').hover(
function(){
$(this).parent('.block').find('.needToShow').show();
},
function(){
$(this).parent('.block').find('.needToShow').hide();
});

Код не проверял, думаю сам доделаешь

Link to comment
Share on other sites

  • 0
Это можно и на JQ сделать. Инструмент не суть важен.

Мышление важнее.

http://api.jquery.com/parent/

		  $('.block a').hover(
function(){
$(this).parent('.block').find('.needToShow').show();
},
function(){
$(this).parent('.block').find('.needToShow').hide();
});

Код не проверял, думаю сам доделаешь

я разобрался, спасибо.

правда в моём случае мне помог .children()

Link to comment
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.

Guest
Answer this question...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

 Share

×
×
  • Create New...

Important Information

We have placed cookies on your device to help make this website better. You can adjust your cookie settings, otherwise we'll assume you're okay to continue. See more about our Guidelines and Privacy Policy