$(document).ready(function(){
if('.huvud li').hover{
$('ul.hand:not(:animated)',this).slideDown(500);
}
else{
$('ul.sub', this).slideUp(300);
}
});
我正在尝试制作一个代码,它基本上会让菜单在悬停在其上时向下滑动,尝试过这种方式,但它说它有一些意想不到的令牌,为什么? (我是初学者)
答案 0 :(得分:0)
您的if
条件不正确并且没有错误。它应该是if($('.huvud li').hover())
。您需要$('.huvud li')
因为hover()
只能应用于JQuery
对象。
每当您使用JavaScript和JQuery时,您都应该看到浏览器控制台出错,因为它们可以帮助您解决错误并找出原因。
$(document).ready(function(){
if($('.huvud li').hover()){
$('ul.hand:not(:animated)',this).slideDown(500);
}
else{
$('ul.sub', this).slideUp(300);
}
});
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
答案 1 :(得分:0)
您需要使用.hover( handlerIn, handlerOut )
方法
$(document).ready(function() {
$('.huvud li').hover(function() {
$('ul.hand:not(:animated)', this).slideDown(500);
}, function() {
$('ul.sub', this).slideUp(300);
});
});
请注意,这只是
的简写$(selector).mouseenter( handlerIn ).mouseleave( handlerOut );
答案 2 :(得分:0)
你可能正在寻找这样的东西:
$(document).ready(function(){
$('div').hover(
()=>$('ul',this).slideDown(500)
,
()=> $('ul', this).slideUp(300)
)
});
&#13;
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<div>
hello
</div>
<ul>
<li>1</li>
<li>2</li>
</ul>
&#13;