我已经将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})工作的插件。这些线路工作正常。
答案 0 :(得分: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);}
);
};