JQuery slideUp / Down循环?

时间:2013-01-19 17:16:54

标签: jquery loops html slidedown slideup

我哪里错了? http://jsfiddle.net/j5yTU/

当鼠标离开区域时,只想让.ex向上滑动..但它似乎循环然后向上滑动。

 $("div.case").mouseover(function () {
var id = $(this).attr("id");
$(this).css("opacity", "1").css("filter", "alpha(opacity=100)");
$(".ex"+id).slideDown(500);
});

$("div.case").mouseout(function () {
var id = $(this).attr("id");
$(this).css("opacity", "0.4").css("filter", "alpha(opacity=40)");
$(".ex"+id).slideUp(500);
});

任何人都知道问题可能是什么?

3 个答案:

答案 0 :(得分:1)

请尝试使用mouseentermouseleave

如果您在具有绑定事件的元素中从每个子元素移动到另一个子元素,也会触发事件mouseovermouseout

您还可以使用hovermouseentermouseleave

的别名

答案 1 :(得分:1)

这可能是您执行此功能的更好方法:

$('.case').hover(function(){
    var id = $(this).attr('id');
    $(this).css('opacity':'1','filter':'alpha(opacity=100)');
    $('.ex'+id).slideDown(500);
},
function(){
    var id = $(this).attr('id');
    $(this).css('opacity':'0.4','filter':'alpha(opacity=40)');
    $('.ex'+id).slideUp(500);
});

悬停方法使用两个函数。第一个是初始悬停功能,第二个是悬停呼叫回叫功能。我猜测的.ex元素是以这种方式生成的? .ex0,.ex1,.ex2。如果是这样,你的功能应该有效如果.ex元素在.case范围内并且有多个.case,则可以使用此选择器:

$('.ex',this)

如果你有这些元素的列表,你可以使用退出id的方法并使用:eq()索引选择器:

$('.ex:eq('+id+')')

答案 2 :(得分:0)

http://jsfiddle.net/j5yTU/1/

 $("div.case img").mouseover(function () {
   ....
 }

  $("div.case img").mouseout(function () {
   ....
 }