1

我正在使用滚动脚本,当页面上到达某个点时,它将元素的显示从无更改为阻塞。

有什么方法可以应用淡入以及更改显示,甚至加载动画 gif 吗?

这是我的代码

window.onscroll = function()
{
if( window.XMLHttpRequest ) {
    if (document.documentElement.scrollTop > 454 || self.pageYOffset > 454) {
    $('logosmall').style.position = 'fixed';
    $('logosmall').style.top = '0';
    $('logosmall').style.padding = '10px';
    $('logosmall').style.display = 'block';
} else if (document.documentElement.scrollTop < 454 || self.pageYOffset < 454) {
        $('logosmall').style.position = 'absolute';
        $('logosmall').style.top = '454px';
        $('logosmall').style.display = 'none';
    }
}

}

4

3 回答 3

1

您只需链接.fadeIn().fadeOut()。这样做时,使用它总是一个好主意,.stop(true, true)这样您就不会排队动画。我还重构了您的代码,以便在样式方面更有效:

window.onscroll = function() {

    if( window.XMLHttpRequest ) {
        if (document.documentElement.scrollTop > 454 || self.pageYOffset > 454) {

            $('logosmall').css({

                'position' : 'fixed',
                'top'      : '0',
                'padding'  : '10px'

            }).stop(true,true).fadeIn('slow');

        } else if (document.documentElement.scrollTop < 454 || self.pageYOffset < 454) {

            $('logosmall').css({

                'position' : 'absolute',
                'top'      : '454px'

            }).stop(true, true).fadeOut(0);

        }
    }
}

PS我不确定这是否是拼写错误,但是 logosmall 是一个类还是一个 id?如果它是一个类,你需要在它前面加上一个句点:.logosmall. 如果它是一个 id,你需要在它前面加上一个井号:#logosmall

于 2012-04-13T13:13:07.747 回答
0

改了怎么办

$('logosmall').style.display = 'block';

$('logosmall').fadeIn();

?

于 2012-04-13T13:09:23.493 回答
0

我真的不明白你需要什么。但是如果你只是想做一个淡入淡出,解决方案在这里http://api.jquery.com/fadeIn/

$('#myDivID').fadeIn('slow', function() {
        // Animation complete
      });
于 2012-04-13T13:11:50.440 回答