我不知道为什么这段代码不起作用:
$(window).scroll(function () {
var $scrtop = $(window).scrollTop(),
$topnavbar = $(".topbar,.navbar-fixed-top");
$topnavbar.mouseenter(function(){
$topnavbar.stop(true,true).fadeTo(4000,1);
}).mouseleave(function(){
$topnavbar.stop(true,true).fadeTo(4000,.5);
})
if( $scrtop > 100 )
{
$topnavbar.stop(true,true).fadeTo(4000,.5);
} else {
$topnavbar.stop(true,true).fadeTo(4000,1);
}
});//scroll
它直接指向最终的不透明度而没有fadeTo()的阶段。 这里是jsfiddle:http://jsfiddle.net/pPr9S/
答案 0 :(得分:1)
更新代码
你要从stop中删除第二个 true ,因为它实际上完成了队列中的下一个动画;
var $topnavbar = $(".topbar,.navbar-fixed-top"),
$scrtop;
$(window).scroll(function () {
$scrtop = $(window).scrollTop();
if( $scrtop > 100 )
{
$topnavbar.stop(true).fadeTo(500,.5);
} else {
$topnavbar.stop(true).fadeTo(500,1);
}
});
$topnavbar.hover(function(){
$topnavbar.stop(true).fadeTo(500,1);
}, function(){
$topnavbar.stop(true).fadeTo(500,.5);
});
答案 1 :(得分:0)
我不知道你的问题是什么,试试这个,如果没有,请在js http://jsfiddle.net/上插入html代码,这样你就可以很快得到答案......
var $topnavbar = $(".topbar,.navbar-fixed-top"),
$scrtop; $(window).scroll(function () {
$scrtop = $(window).scrollTop();
if( $scrtop > 100 )
{
$topnavbar.stop().fadeTo(4000,.5);
} else {
$topnavbar.stop().fadeTo(4000,1);
} });
$topnavbar.hover(function(){
$topnavbar.stop().fadeTo(4000,1); }, function(){
$topnavbar.stop().fadeTo(4000,.5); });