如何使用" + ="在动画内部具有变量的赋值运算符?

时间:2015-03-23 21:06:39

标签: javascript jquery

我在这里努力解决这个问题。

http://jsfiddle.net/yhcqfy44/

每次出现滚动条时,动画都应自动滚动到相对于<span>高度的顶部。

我写了这个,但没有运气:

var hheight = $('<span>').height();
var i = 0;
var blackposition;
var square = $('<span></span>').first();
var endless = setInterval(function() {

    if (i % 4 == 0) {
        blackposition = Math.floor(4 * Math.random());
    }

    var math = (blackposition == (i % 4)) ? 0 : 1;

    square.clone().addClass('color_' + math).text((math < 1) ? 'even' + i : 'odd' + i).appendTo('#container');
    i++;

    $('body,html').animate({
        scrollTop: '+=' + hheight + 'px'
    }, 1000, 'linear')
}, 500);

$(window).on('scroll', function() {
    if ($("span").offset().top + $("span").height() < $(window).scrollTop()) {
        $("span").slice(0, 4).remove();
    };
});

这样做有解决方案吗?

1 个答案:

答案 0 :(得分:1)

您正在为scrollTop属性提供一个字符串,而JavaScript只是将其视为字符串而不是操作符,除此之外我不认为您可以在那里拥有运算符我会尝试这样的事情scrollTop: $(document).height() + 'px'我认为这样做是你想要的,看看这个http://jsfiddle.net/yxbj0fen/2/

基本上只是滚动到文档的底部,但您可以将其替换为另一个容器(例如div