function rightFrame(e) {
$('#' + e).css({
'position': 'relative',
'top': '0px',
'left': '30px',
'visibility': 'visible'
});
$('#' + e).show();
}
$(document).ready(function() {
$('.link').mouseover(function(e) {
rightFrame($(this).data('item'));
});
$('.link').mouseout(function(e) {
if ($(this).is(":visible") == true) {
if ($(this).is(':hover') == true) {
$('.right').hide();
}
}
});
});
Хорошо, только чтобы квалифицироваться здесь, я практически ничего не знаю о jQuery или JavaScript. Я начал с базового кода, чтобы ящик с раскрывающимся списком появлялся, а затем возился с ним, чтобы сделать его таким, каким он есть. Моя цель состоит в том, чтобы выпадающее меню появлялось, когда вы наводили курсор мыши на ссылку, но при этом позволяете вам щелкнуть по выпадающему списку, так как выпадающая навигация должна. Но, как я уже сказал, я вроде как манекен, когда речь заходит о jQuery/JS. Помогите!
PS - Ссылка ссылается на ссылку, которую вы наводите, чтобы выпадающее меню появилось. Правило относится к самому выпадающему меню.
<div id="leftcontent">
<hr size="1" color="#555" />
<a href="#"><div class="link" data-item="r1">HOME<br /><span class="littlelink">THE HOMEPAGE</span></div></a>
<a href="#"><div class="right" id="r1">asdf</div></a>
<hr size="1" color="#555" />
<a href="#"><div class="link" data-item="r2">PORTFOLIO<br /><span class="littlelink">SOME OF MY WORK</span></div></a>
<a href="#"><div class="right" id="r2">asdf</div></a>
<hr size="1" color="#555" />
<a href="#"><div class="link" data-item="r3">PRICES<br /><span class="littlelink">YOUR INVESTMENT</span></div></a>
<a href="#"><div class="right" id="r3">asdf</div></a>
<hr size="1" color="#555" />
<a href="#"><div class="link" data-item="r4">CONTACT<br /><span class="littlelink">GET IN TOUCH</span></div></a>
<a href="#"><div class="right" id="r4">asdf</div></a>
<hr size="1" color="#555" />
</div><!-- end leftcontent -->
Вам нужно определить свои выпадающие элементы как дочерние элементы для вашей кнопки таким образом, чтобы они не исчезали, когда ваша мышь переходит к элементам (только если элементы расположены рядом с кнопкой)
поэтому для вашей проблемы я бы предложил
<div class="link">
<a href="..."> ... </a>
<div class="right">
<a href="..."> ... </a>
</div>
</div>
иногда мышь не запускается правильно, поэтому просто используйте slideToggle();
fadeToggle();
$(document).ready(function() {
$('.link').mouseover(function(e) {
//$(this).closest('a').next('a').find('.right').fadeToggle(400); //ITS FOR YOUR OLD HTML
$(this).find('.right').slideToggle(400);
//above 50 is speed of animation
});
});
используйте этот html для выпадающего меню
<ul>
<li class="link">
<a href="#">Link....</a>
<ul class="right">
<li><a href="#">Sublink-1</a></li>
</ul>
</li>
</ul>