0

どこが間違っていますか? 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);
});

何が問題なのか知っている人はいますか?

4

3 に答える 3

1

代わりにmouseenterandを使用してみてください。mouseleave

イベントは、バインドされたイベントを持つ要素内の各子要素から別の子要素に移動した場合にもトリガーされますmouseovermouseout

hoverのエイリアスである which を使用することもできますmouseentermouseleave

于 2013-01-19T17:22:11.780 に答える
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);
});

hover メソッドは 2 つの関数を使用します。1 つ目は最初のホバー関数で、2 つ目はホバー アウト コールバック関数です。.ex私が推測している要素は、このように生成されますか? .ex0,.ex1,.ex2. もしそうなら、あなたの機能はうまくいくはずです。.ex要素が内部.caseにあり、複数ある場合、.caseこのセレクターを使用できます。

$('.ex',this)

この要素のリストがある場合は、ID を取得する方法を使用して、:eq()インデックス セレクターを使用できます。

$('.ex:eq('+id+')')
于 2013-01-19T17:23:25.707 に答える
0

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

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

  $("div.case img").mouseout(function () {
   ....
 }
于 2013-01-19T17:23:29.107 に答える