Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/434.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
Javascript 如何在滚动时更改主体不透明度?_Javascript_Jquery_Css_Scroll_Opacity - Fatal编程技术网

Javascript 如何在滚动时更改主体不透明度?

Javascript 如何在滚动时更改主体不透明度?,javascript,jquery,css,scroll,opacity,Javascript,Jquery,Css,Scroll,Opacity,当有人在我的网站上滚动时,我想在除#标题之外的所有元素上设置不透明度。当滚动停止时,它应该以完全不透明度再次淡入淡出 因此,如果有人滚动,不透明度应该像0.5,如果访问者停止滚动,不透明度应该回到1 我有一个固定的标题,在滚动时跟随网站,所以最好的事情是如果我的元素标题不受此影响 一些jQuery可以为您处理此问题: jQuery(document).ready(function () { (function() { var timer; $(window

当有人在我的网站上滚动时,我想在除#标题之外的所有元素上设置不透明度。当滚动停止时,它应该以完全不透明度再次淡入淡出

因此,如果有人滚动,不透明度应该像0.5,如果访问者停止滚动,不透明度应该回到1


我有一个固定的标题,在滚动时跟随网站,所以最好的事情是如果我的元素标题不受此影响

一些jQuery可以为您处理此问题:

jQuery(document).ready(function () {
    (function() {
        var timer;
        $(window).bind('scroll',function () {
            clearTimeout(timer);
            $('yourElem').addClass('is-scrolling');
            // time before scrolling is registered as stopped
            timer = setTimeout( refresh , 500 );
        });
        var refresh = function () { 
            $('yourElem').removeClass('is-scrolling');
        };
    })();
});
然后在页面上抛出一些CSS

.is-scrolling {
  opacity: 0;
     -moz-transition: opacity 0.3s ease-out;
       -o-transition: opacity 0.3s ease-out;
  -webkit-transition: opacity 0.3s ease-out;
          transition: opacity 0.3s ease-out;
}
$('.fade')。每个(函数(){
var objectBottom=$(this.offset().top+$(this.outerHeight();
var windowBottom=$(窗口).scrollTop()+$(窗口).innerHeight();
if(objectBottom
向我们展示一些您已经尝试过的代码。您尝试过在jQuery文档中搜索和吗?很好,谢谢!只有一个问题,当滚动完成时,我想不透明性又回来了。我更喜欢从0.5淡入到1.0。哎呀。将转换放在类添加到的任何元素上,而不是.is滚动类hi!我成功地做到了,很抱歉我没有尝试就迅速做出了回应
    $('.fade').each(function() {
        var objectBottom = $(this).offset().top + $(this).outerHeight();
        var windowBottom = $(window).scrollTop() + $(window).innerHeight();

        if (objectBottom < windowBottom) { (scrolling down)
            if ($(this).css('opacity')==0) {$(this).fadeTo(500,1);}
        } else {  (scrolling up)
            if ($(this).css('opacity')==1) {$(this).fadeTo(500,0);}
        }
    });