【问题标题】:Jquery scroll fade between divsJquery在div之间滚动淡入淡出
【发布时间】:2013-02-20 18:55:31
【问题描述】:

好的,所以我在页面下方有一些 div,主要是常见的 CSS 高度:1024 像素和宽度:100%。这些 div 中的每一个都有一个使用 backstretch 设置的全屏背景图像。

我想要做的是首先隐藏所有 div,只显示第一个 - 然后当您向下滚动页面时,我希望每个 div 淡入,现有 div 淡出,反之亦然起来。

如您所见,我已将现有 div 设置为 1024 的所有高度,因此我不介意您是否可以在更高分辨率下看到屏幕底部的空白区域。

我尝试过使用 scrolltop() 函数,但它不能可靠地工作。

【问题讨论】:

  • 你可以添加你尝试过的html或jquery吗?
  • 如果你看到它是萤火虫,那么你会注意到他们只是在向下和向上滚动时添加切换类..
  • 那我该怎么做呢?
  • ixistore.be/js/scroll.js看看这段代码

标签: jquery scroll fade


【解决方案1】:

试试下面的方法

<script type="text/javascript">
$(document).ready(function(){
    $(document).scroll(function() {
        var main = Math.min(0.5 + 0.4 * $(this).scrollTop() / 3000, 0.9);
        var change = Math.round(main * 255);
        $("body").css('background-color', 'rgb(' + change + ',' + change + ',' + change+ ')');
    });
});

</script>

作为背景

var pW = $(this).scrollTop();
$(this).css('background-position', '0% ' + parseInt(-pW / 10) + 'px');

创建精灵css 图像并相应地设置图像。

【讨论】:

  • 好的,这很理想,但我如何使用 jquery backstretch 将其合并为全屏背景图像?
  • @Palemo 查看更新答案,您可以更改背景位置。
  • 所以,我将所有内容从 scroll(function() 替换为 }); (即 var main、var change、$("body") 等
  • @Palemo 你可以我给你一个改变背景的例子你可以选择一个
  • 抱歉,我还是不能让它工作——你能给我改变滚动背景的完整代码吗?我可能无法将其用作一张图片,因为该网站正在使用 backstretch
【解决方案2】:

你可以使用这样的东西

$(window).scroll(function() {

    if ($(this).scrollTop()>0)
     {
        $('div1').fadeOut();
     }
    else
     {
        $('div2').fadeIn();
     }
 });

【讨论】:

  • 抱歉,我正在寻找类似ixistore.be 的内容 -> 当您向下滚动页面时,它会淡出现有 div 并淡入下一个 div,反之亦然。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2015-09-07
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多