Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/75.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/css/35.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Jquery 如何加上「;1px“;不从“开始”;0px";?_Jquery_Css - Fatal编程技术网

Jquery 如何加上「;1px“;不从“开始”;0px";?

Jquery 如何加上「;1px“;不从“开始”;0px";?,jquery,css,Jquery,Css,我正在创建一个视差背景,视差背景以与内容不同的速度移动。我从Codepen中稍微修改了这个jQuery代码,以便在滚动页面时将1px添加到“background-position-y” <script> jQuery(function($) { $(window).scroll(function(e) { parallax(); }); function parallax() {

我正在创建一个视差背景,视差背景以与内容不同的速度移动。我从Codepen中稍微修改了这个jQuery代码,以便在滚动页面时将1px添加到“background-position-y”

<script>
    jQuery(function($) {
        $(window).scroll(function(e) {
            parallax();
        });

        function parallax() {
            var scrolled = $(window).scrollTop();
            $('.wsite-section-bg-image').css('background-position-y', -(scrolled * 0.1) + 'px');
        }
    });
</script>

jQuery(函数($){
$(窗口)。滚动(功能(e){
视差();
});
函数视差(){
var scrolled=$(窗口).scrollTop();
$('.wsite section bg image').css('background-position-y',-(滚动*0.1)+'px');
}
});
“background-position-y”已经为带有CSS的视差背景设置,但是当jQuery代码触发时,它会从“0”开始background-position-y,而不是其固有的CSS位置,从而导致图像中的突然抖动


可以向该代码中添加哪些内容,以便jQuery代码将“1px”添加到“background-position-y”的固有CSS位置,而不是从“0”开始。 为什么不使用“-”来设置变量值:

$('.wsite-section-bg-image').css('background-position-y', -(scrolled - 10) + 'px');

你为什么不试试别的呢。我从未见过css background-position-y,我认为这是一款特别的internetexplorer。这种方法绕过了整个零点问题

<script>
function scrollSomething () {
    var x = $(document).scrollTop();
    // < 1 for slower scroll and > 1 for faster scroll
    var scrollSpeed1 = x * 0.7;
    var scrollSpeed2 = x * 0.5;
    var scrollSpeed3 = x * 1.25;
    var hBckgd1 = $(".background1").height(); // get height
    var hBckgd2 = $(".background2").height(); // get height
    $("background1")css({"top": scrollSpeed1 + "px"});
    $("background2")css({"top": scrollSpeed2 + hBckgd1 + "px"});
    $("background3")css({"top": scrollSpeed3 + hBckgd1 + hBckgd2 + "px"});
    }
window.addEventListener("scroll", scrollSomething);
</script>

函数(){
var x=$(document.scrollTop();
//<1表示较慢的滚动,大于1表示较快的滚动
var scrollSpeed1=x*0.7;
var scrollSpeed2=x*0.5;
var scrollSpeed3=x*1.25;
var hBckgd1=$(“.background1”).height();//获取高度
var hBckgd2=$(“.background2”).height();//获取高度
$(“background1”)css({“top”:scrollSpeed1+“px”});
$(“背景2”)css({“顶部”:scrollSpeed2+hBckgd1+px});
$(“背景3”)css({“顶部”:scrollSpeed3+hBckgd1+hBckgd2+px});
}
addEventListener(“滚动”,滚动某物);

Weebs不是乘0而是乘0.1,等于除以10。嘿,Kobbe,看起来你还没有看到文章的标题和最后一句话。我将在同一页上有多个视差背景,每个背景将位于不同的“背景位置-y”。我不想给所有背景赋予相同的“背景位置y”。如果可能的话,我希望jQuery代码能够自己解决这个问题。好的,我将编辑上面的代码以处理多个背景。在大约3分钟内检查。显然,第二个和第三个背景不会从第一个背景开始的地方开始,因此您必须获得背景1的高度和背景2的高度(使用jQuery.height()。将background 2设置为(scrollSpeed2+heightBackground1)并将background 3设置为(scrollSpeed3+heightBackground1+heightBackground2)嘿,Kobbe,“background-position-y”只是CSS“background position”的“y”坐标。我尝试了您创建的代码——我非常欣赏它——但没有成功。根本没有视差滚动。我得把这件事弄得一团糟,看看我能想出什么来。