Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/69.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 为什么我的设置超时不起作用?_Javascript_Jquery_Html_Css - Fatal编程技术网

Javascript 为什么我的设置超时不起作用?

Javascript 为什么我的设置超时不起作用?,javascript,jquery,html,css,Javascript,Jquery,Html,Css,我有一个定时器功能不工作的问题,有人能指出为什么会出现这种情况吗?我确信这很简单,只是不确定它是什么 <a class="item"></a> <div class="item"></div> <div class="item"></div> <div class="item"></div> <div class="item"></div> .item {width:50px

我有一个定时器功能不工作的问题,有人能指出为什么会出现这种情况吗?我确信这很简单,只是不确定它是什么

<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);
    });


});

您需要将要执行的JS包装在匿名函数中。另外,
setTimeout()
将更改
的值(对此的解释),因此请确保将
分配给
hover()函数中的新变量,并将其用作
参数。而不是()

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

请参阅。

您没有将函数传递给
setTimeout