在滚动上设置基于相对的位置背景y元素

时间:2017-03-06 22:00:44

标签: javascript jquery

this.props.navigation.navigate('DrawerOpen'); // open drawer
this.props.navigation.navigate('DrawerClose'); // close drawer

上面我想在wrap-header(jQuery(function ($) { $(window).scroll(function() { var y = $(this).scrollTop(); if (y > 360) { var pos_yvalue = y - 294; $('.site-header .wrap').css('background-position-y', pos_yvalue.toString() + 'px'); } }); }); )中将图像设置为相对于滚动y位置的background-position-y。

所以当我在360px以上滚动时,我想将site-header .wrap的背景图像定位为66,当它是362时,包裹的背景图像应该是65等。

上面的代码代表值66,67,68等,而不是像这样向下计数:66,65,64,63,62,61等。

出于某种原因,我无法理解这一点。

2 个答案:

答案 0 :(得分:0)

我注意到一些语法错误可能是您的问题的一部分,如果您没有使用您的代码或者有一个让您知道的IDE。

原样,您的代码应如下所示:

jQuery(function ($) {       

    $(window).scroll(function() { 
        var y = $(this).scrollTop();

        if (y > 360) {
            var pos_yvalue = y - 294;
            $('.site-header .wrap').css('background-position-y',
        pos_yvalue.toString() + 'px');
        }
    });
});

你错过了一些结束)。否则,代码似乎将背景位置添加到.site-header元素。你是否想要一个固定在页面顶部的固定标题?

答案 1 :(得分:0)

实际上这只是一个计算问题:

if (y > 360) {
    var minus_y = ( y - 295 ) - 66;   
    var pos_yvalue = 66 - minus_y;
    $('.site-header .wrap').css('background-position-y', pos_yvalue.toString() + 'px');
}