javascript - jQuery的scrollTop不会变成负数

标签 javascript jquery scroll frontend parallax

我正在使用我在网上找到的代码:

var background_image_parallax =
function($object, multiplier) {
    multiplier = typeof multiplier !== 'undefined' ? multiplier : 0.5;
    multiplier = 1 - multiplier;
    var $doc = $(document);
    $object.css({"background-attachment" : "fixed"});
    $(window).scroll(function() {
        var from_top = $doc.scrollTop(),
        bg_css = '0px ' +(multiplier * from_top) + 'px'
        $object.css({"background-position" : bg_css
        });
    });
};

问题是:我想操作 bg_c​​ss 的第二个(y 分量)。当我将 (multiplier * from_top) 前面的“+”符号更改为“-”时,代码中断。我还想尝试从 bg_c​​ss 的 y 分量中减去 400px,但是每当我稍微操作这段代码时,它就会崩溃。

最佳答案

这里您使用 + 作为连接运算符。要使其变为负数,请尝试以下操作:

    var from_top = $doc.scrollTop(),
    bg_css = '0px ' +(multiplier * from_top * -1) + 'px'

或者:

bg_css = '0px ' +(-multiplier * from_top) + 'px'

关于javascript - jQuery的scrollTop不会变成负数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26660940/

相关文章:

javascript - 如何在 DOM 中选择具有 ID 的特定元素,然后使用 jQuery 跳到具有相同 ID 的下一个元素

css - 如何设置一个 div 以使用可用的浏览器高度自动调整它的高度

javascript - 使用 Animate Plus 在按钮单击时制作整页滚动动画

javascript - 将项目从 JSON 数组添加到列表

javascript - Jquery Slider 不会在最后停止

javascript - 两节缝隙大怎么去掉呢? - Javascript 或 Jquery

javascript - 如何使用 jQuery 在 DIV 中连续滚动内容?

javascript - 如何使用 jQuery-Tabledit 和 Laravel 更新表格行

Javascript传递时差值 时*分*秒*1000

javascript - 创建两个具有相同来源的 HTML5 视频元素不起作用