0

タイマー機能が機能しないという問題があります。なぜそうなるのか、誰かが指摘できますか?これは単純なことだと思いますが、それが何であるかはわかりません。

<a class="item"></a>
<div class="item"></div>
<div class="item"></div>
<div class="item"></div>
<div class="item"></div>

.item {width:50px; height:50px; background:red; margin:10px; float:left; opacity:1; }


$("document").ready(function() {
    var tooltipTimeout;

    $(".item").hover(function () {
    tooltipTimeout = setTimeout( $(".item").not(this).stop().fadeTo("slow", 0.5), 2000);
    },
    function () {
        $(".item").stop().fadeTo("slow", 1);
    });


});

ありがとう。

http://jsfiddle.net/Jrand/wqJMt/1/を参照してください

4

1 に答える 1

2

匿名関数で実行するには、JSをラップする必要があります。また、 (ここでの説明)setTimeout()の値を変更するので、必ず関数内の新しい変数に割り当て、代わりにそれを引数として使用してください。thisthishover().not()

$(".item").hover(function () {
  var item = this;
  tooltipTimeout = setTimeout(function() { $(".item").not(item).stop().fadeTo("slow", 0.5) }, 2000);
},
function () {
    $(".item").stop().fadeTo("slow", 1);
});

DEMOを参照してください。

于 2013-03-11T21:23:09.907 に答える