-1

我正在努力使一组div' 在屏幕上出现时按顺序淡入。但是,我仍然无法使其正常工作。

我有大约 5 个div班级hideme,一旦他们出现,我想慢慢淡入。

这些的 HTMLdiv非常简单:

<div class="hideme">
    <h3 class="text-white">one</h3>
    <img src="../link-to-image.jpg">
    <p>Some text that goes here!</p>
</div>

到目前为止,我将它作为我的 jQuery,但我不确定它哪里出错了,我认为那里可能有一些语法错误。

var divs = $('.hideme');

$(window).on('scroll', function() {

    $.each(divs, function(i, item) {

        if($(item).offset().top <= $(window).scrollTop();) {
            setTimeout(function() {
            $(item).css('opacity', '1');
        }, 1000 * i);
        }

    });

});
4

1 回答 1

1

您的 javascript 控制台对于查找语法错误非常有用,因为它通常会告诉您它们的确切位置。

特别是,这一行:

if($(item).offset().top <= $(window).scrollTop();) {

里面不应该有分号if

if($(item).offset().top <= $(window).scrollTop()) {

http://jsfiddle.net/hhzJG/

这里要实现的另一件事是window.scroll在向下滚动页面的过程中会触发很多次。你最终会得到一大堆setTimeouts 堆叠,这并不是一个理想的方法。

于 2013-05-21T17:13:17.707 回答