【问题标题】:Get bg-image and position from div and give it to another dynamically从 div 获取 bg-image 和 position 并动态地将其提供给另一个
【发布时间】:2014-02-03 16:45:29
【问题描述】:

我试图从 div 中获取背景图像和位置,并将其提供给导航的背景。

$(document).ready(function(jQuery){
    var bgimg = $('.stripe-style-2').css('backgroundImage');
    var bgpos = $('.stripe-style-2').css('background-position');

    $(window).scroll(function () {

    $('.fix #main-nav').css('background-image', bgimg);
    $('.fix #main-nav').css('background-position', bgpos);

    });
});

导航从 .stripe-style-2 获取背景图像和位置,但如果我向下滚动,背景位置将更改为(例如):

background-position: 50% -178px

.fix #main-nav: 的背景位置没有任何反应:

background-position: 50% 0

我该如何解决这个问题?

【问题讨论】:

  • 您观察到bgpos 中的实际值了吗?有可能出来的是-178,但需要设置的是-178px。也许是一个 jsfiddle?
  • @JoelEtherton 如果你不指定单位,jQuery 假定为 px。

标签: javascript jquery parallax background-position


【解决方案1】:

在我看来你只需要在应用它之前获取最新的位置值......

$(document).ready(function(jQuery){
    var bgimg = $('.stripe-style-2').css('backgroundImage');

    $(window).scroll(function () {

        var bgpos = $('.stripe-style-2').css('background-position');

        $('.fix #main-nav').css('background-image', bgimg);
        $('.fix #main-nav').css('background-position', bgpos);

    });
});

您之前只获得了一次,并且该变量永远不会改变,尽管背景位置发生了变化。

【讨论】:

  • 就是这样!谢谢!
  • 没问题 - 很高兴为您提供帮助 :)
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2021-04-15
  • 1970-01-01
  • 2017-06-02
  • 2016-03-08
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多