我正在尝试停止fadeTo()动画。我有一块4张照片,其中3张照片(未打开的)应该变暗,而徘徊在不透明度为1。不幸的是,到目前为止,我所拥有的代码使得每一个,包括在此之前徘徊的一匝变暗再说一次。相反,我只是希望它在第一时间保持100%,因为其他一切都使网站看起来没有反应。
到目前为止我所拥有的是:
$("#submenu").load("submenu.html", function(){
function darken(){;
$("#submenu li").find("img").fadeTo( 100, 0.20 );
}
function brighten(){
$("#submenu li").find("img").fadeTo( 100, 1.00 );
}
$('#submenu li').each(function(index) {
$(this).hover(
function () {
darken();
// $(this).stop(1,0).fadeTo(100, 0.20);
// if I do this ^ this image stays dark, even when hovered, and stays black when unhovered
// $(this).stop(1,0).fadeTo(100, 0.20);
// this ^ has no effect on the image whatsoever and it stays dark if I remove the line below
$(this).find("img").fadeTo( 100, 1.00 );
// keeping this ^ line, it shows the behavior as stated in the question
},
function () {
brighten ();
}
);
});
我在stop()调用中对(true,false)语句进行了很多讨论,但到目前为止还没有任何组合成功。
答案 0 :(得分:0)
好吧我对web dev(我是app dev)一无所知,但我现在所做的是将元素传递给darken()方法,因此它知道“不要”变暗的内容。将在清理后发布代码。
$("#submenu").load("submenu.html", function(){
function darken(topkek){
$.each($('#submenu ul li'), function( index, value ) {
if(topkek.innerHTML!=$(this).html()){
$(this).find("img").stop(true).fadeTo( 100, 0.40 );
}
// I think one couldn't have done this worse than here but if it look stupid and it work, it ain't stupid
});
}
function brighten(){
$("#submenu li").find("img").stop(true).fadeTo( 450, 1.00 );
}
$('#submenu li').each(function(index) {
$(this).hover(
function () {
darken(this);
},
function () {
brighten ();
}
);
});
});