3

我已经添加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}) 工作的插件。这些线路工作正常。

4

1 回答 1

2

感谢以上评论和帮助。早上不累的时候再看一遍,就更清楚了。我遇到的问题是在第一个声明中,我认为它是有效的。

$(z).css我在函数中调用的地方setTimout应该是$(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);}
    );
};
于 2012-11-23T08:23:27.997 回答