Javascript 设置css未运行的超时

Javascript 设置css未运行的超时,javascript,jquery,settimeout,Javascript,Jquery,Settimeout,我在几个函数中添加了setTimeout,其中一个函数运行良好,但另一个函数似乎根本不运行。我不知道为什么,因为完全一样。请在下面找到我的代码,任何帮助都将不胜感激 我看到的是setTimeout线,这条很好用 var fctyhov = function (z) { $(deptmts[i]).hover( function(){ $(fcultys[z]).stop(true).animate({color: col1});

我在几个函数中添加了
setTimeout
,其中一个函数运行良好,但另一个函数似乎根本不运行。我不知道为什么,因为完全一样。请在下面找到我的代码,任何帮助都将不胜感激

我看到的是setTimeout线,这条很好用

var fctyhov = function (z) {
    $(deptmts[i]).hover(
        function(){
            $(fcultys[z]).stop(true).animate({color: col1});
            setTimeout(function(){$(z).css("text-shadow", tsh1);},100);},
        function(){
            $(fcultys[z]).stop(true).animate({color: col3});
            setTimeout(function(){$(z).css("text-shadow", tsh2);},100);}
    );
};
但是这个没有

var facdth = function (y,x,w) {
    $(y).hover(
        function(){
            $(x).stop(true).fadeTo("fast", 1);
            $(w).stop(true).delay().animate({color:col1});
            $(y).stop(true).animate({color: col1});
            setTimeout(function(){$(y).css("text-shadow", tsh1);},100);},
        function(){
            $(x).stop(true).fadeTo("slow", 0);
            $(w).stop(true).delay().animate({color:col2});
            $(y).stop(true).animate({color: col3});
            setTimeout(function(){$(y).css("text-shadow", tsh2);},100);}
    );
};
编辑
我添加了一个插件,允许.animate({color})工作。这些行工作正常。

感谢以上评论和帮助。第二天早上,当我不累的时候,再看看这个,它变得更清晰了。我的问题出现在第一次发言中,我认为这是有效的

当我在
setTimout
函数中调用
$(z).css时,它应该是
$(fcultys[z]).css
。这是一个愚蠢的错误,请参阅下面我的工作代码

var fctyhov = function (z) {
    $(deptmts[i]).hover(
        function(){
            $(fcultys[z]).stop(true).animate({color: col1});
            setTimeout(function(){$(fcultys[z]).css("text-shadow", tsh1);},100);},
        function(){
            $(fcultys[z]).stop(true).animate({color: col3});
            setTimeout(function(){$(fcultys[z]).css("text-shadow", tsh2);},100);}
    );
};

最可能的问题是JS无法访问该行代码,即存在其他一些bug。查看是否引发任何异常。@SidharthMudgal:我想这可能是原因,但是
setTimeout
行之前的其他三行运行正常,如果我删除
setTimeout
行,则函数工作正常。也没有显示错误。是动画({color})在jquery中导致错误。@deach:对不起,我忘了提到我添加了一个允许文本颜色动画的插件,该插件工作正常。您是否尝试在延迟函数内部和
setTimeout()
之后使用
控制台.log(…)