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(…)
?