我正尝试在此元素上调用jQuery:
<li class="expanded nolink">
<span>SERVICES</span>
<ul class="menu">
<li class="first leaf">
<a href="/site/personal_training">PERSONAL TRAINING</a>
</li>
</ul>
</li>当我将鼠标悬停在服务上时,我希望ul类的“菜单”出现,当我离开<li>时,它应该会再次消失。我一直在尝试,我开始变得孤注一掷...url为:http://wittmerperformance.com/site/
到目前为止,我得到的脚本如下所示:
$(function() {
var fade = $('.menu');
$('.expanded nolink').hover(function(){
alert("hello world!");
fade.fadeIn();
}, function() {
fade.fadeOut();
});
});感谢您的帮助!
发布于 2012-10-13 11:50:02
您的选择器错误,您应该更改:
$('.expanded nolink')至:
$('.expanded.nolink')您也可以使用fadeToggle方法:
$(function(){
$('.menu').hide();
$('li.expanded').hover(function(){
$('.menu', this).fadeToggle()
})
})发布于 2012-10-13 11:50:59
您的jQuery代码中有一个错误,选择器错误:
将$('.expanded nolink')更改为$('.expanded.nolink'),因为选择器没有选择任何内容,您的代码可能无法工作!
你有这样的代码:
<ul>
<li class="expanded nolink">
<span>SERVICES</span>
<ul class="menu">
<li class="first leaf">
<a href="/site/personal_training">PERSONAL TRAINING</a>
</li>
<li class="leaf">
<a href="/site/personal_training">PERSONAL TRAINING</a>
</li>
<li class="leaf">
<a href="/site/personal_training">PERSONAL TRAINING</a>
</li>
</ul>
</li>
</ul>纯CSS解决方案
ul li.expanded ul {display: none;}
ul li.expanded:hover ul {display: block;}小提琴:http://jsfiddle.net/nhhQz/
jQuery解决方案
$(document).ready(function(){
$("ul li.expanded ul").hide();
$("ul li.expanded").hover(function(){
$(this).children("ul").stop().fadeIn(400);
}, function(){
$(this).children("ul").stop().fadeOut(400);
});
});小提琴:http://jsfiddle.net/nhhQz/1/
发布于 2012-10-13 11:55:02
你基本上可以使用hover
$(document).ready(function(){
$("ul li.expanded").hover(function(){
$(this).children("ul").show();
}, function(){
$(this).children("ul").hide();
});
});演示:http://jsfiddle.net/CU83B/
https://stackoverflow.com/questions/12869758
复制相似问题