javascript - 仅当我向下滚动时淡入

标签 javascript jquery

我正在使用此代码片段使元素淡出 if scrolltop> 750 并在 < 时淡入750.它工作正常,但我希望它在向上滚动时(淡出后)保持不可见,直到用户到达页面顶部。

所以,这就是当前正在发生的事情: 元素默认可见,用户滚动 750,它就会淡出。用户到达页面末尾,向上滚动,当到达 750 时,元素淡入。

var $window = $(window);
var $freccia = $('#freccia1');

function showHideFreccia() {
   var availableScroll = $(document).height() - $window.height(),
       scrollTop = $window.scrollTop();

   if( scrollTop < 750 || scrollTop  == availableScroll) {
        $freccia.fadeIn("slow", function() {
        });
   } else {
        $freccia.fadeOut("slow", function() {
        });
   }
}

showHideFreccia();
$window.scroll(showHideFreccia);

应该改变的是: 元素默认可见,用户滚动 750,它就会淡出。用户到达页面末尾,向上滚动,当到达页面顶部时,元素淡入。

我尝试过这个,但它不起作用(不再淡入/淡出):

var $window = $(window);
var $freccia = $('#freccia1');

function showHideFreccia() {
   var availableScroll = $(document).height() - $window.height(),
       scrollTop = $window.scrollTop();

   if ( scrollTop > 750 || scrollTop  == availableScroll) {
        $freccia.fadeout("slow", function() {
        });
   }
   if ( scrollTop < 1 || scrollTop  == availableScroll) {
        $freccia.fadein("slow", function() {
        });
   }
}

showHideFreccia();
$window.scroll(showHideFreccia);

最佳答案

您的第二个代码段工作正常,您只是使用了fadeinfadeout而不是fadeInfadeOut>,一个常见的错误!

这段代码对我来说工作得很好: JSFiddle

var $window = $(window);
var $freccia = $('#freccia1');

function showHideFreccia() {
   var availableScroll = $(document).height() - $window.height(),
       scrollTop = $window.scrollTop();

   if ( scrollTop > 750 || scrollTop  == availableScroll) {
        $freccia.fadeOut("slow", function() {
        });
   }
   if ( scrollTop < 1 || scrollTop  == availableScroll) {
        $freccia.fadeIn("slow", function() {
        });
   }
}

showHideFreccia();
$window.scroll(showHideFreccia);

编辑:

不确定这是否是您想要发生的情况,但当前代码将在您到达页面末尾时再次显示该元素。您只需删除 || 即可解决此问题第二个if语句中的scrollTop == availableScroll(如果根本不需要,也可以从第一个语句中删除)。

关于javascript - 仅当我向下滚动时淡入,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30329186/

相关文章:

javascript - 如何用按钮增加字体大小?

javascript - 如何从此 XRayWrapper 获取内容?

javascript - Dropzone.js 在文件上传后调用自定义函数

javascript - <a> 标记上的 Jquery 单击事件未正确触发

javascript - 使用通过 npm 安装的 Bootstrap 3

javascript - 如何将所有 ul 和 li 保留在父 li :selected, 下,但删除其他导航项

javascript - AJAX仅显示网页的一部分

javascript - 如何使一个div可以拖动到另一个div上?

javascript - 在 bootstrap nav-pill 中使用 div

javascript - JavaScript 中多个数组的笛卡尔积