首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >使用Parallax.js jQuery插件时放大的背景图像

使用Parallax.js jQuery插件时放大的背景图像
EN

Stack Overflow用户
提问于 2017-08-02 03:44:55
回答 1查看 459关注 0票数 0

我添加了parallax.js jQuery插件,效果可以正常工作,但不能正常工作。背景被放大,图像在滚动上出现故障。我添加了文档中列出的其他变量来修复这些问题,它们可以按预期工作。然而,出乎意料的是,它们还破坏了我在'#sections‘div中使用JS动态创建的内容,这是一个填充了JavaScript对象的空div?

代码语言:javascript
复制
function parallaxBackground (){
    var yPos = -(($window.scrollTop() - $this.offset().top) / 5);// Scroll speed      
    var coords = '1% '+ yPos + 'px';// Background position       
    $this.css({ backgroundPosition: coords });// Move the background
}   
parallaxBackground();//Call parallaxBackground function

你知道为什么这个函数会擦除使用JS创建的HTML内容吗?JS的其余部分仍然可以工作,只有'#sections‘div停止工作。滚动、显示和悬停效果仍然完好无损。以下是代码的链接。

https://gist.github.com/flyspaceage/075dcf3a6d6bd65edf0f456036eb9bd8

请阅读FlySpaceAge的评论以了解更多信息。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2017-08-02 06:16:26

最后,我对脚本进行了一些修改,并从parallax documentation中添加了一些变量。虽然此解决方案确实修复了功能,但背景图像现在已放大。虽然这个函数并不完美,但它确实解决了我最初发布的问题。

代码语言:javascript
复制
(function($){
$(document).ready(function(){
    $('#sections').on('click', '.back-to-top', scrollToTop);
    $('#jump-menu li').click(scrollToAnchor);
    $('.parallax-window').parallax({imageSrc: '../images/background.png'});     
});

function scrollToTop(event){
    event.preventDefault();

    $('html, body').animate({
        scrollTop: 0
    }, 500);
}

function scrollToAnchor(event){
    event.preventDefault();

    var target = $(this).attr('rel');
    var offset = $(target).offset();

    $('html, body').animate({
        scrollTop: offset.top - 270
    }, 500);
}

/* PARALLAX functionality*/
function parallaxBackground (){

    var parallaxWidth = Math.max($(window).width() * 1, 1 ) | 0;

    $('.parallax-window').width(parallaxWidth); 

}

parallaxBackground();


})(jQuery);
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/45446446

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档