javascript - 向下滚动时淡出页面顶部的不透明度 javascript

标签 javascript jquery

我需要反转此代码:

$(window).scroll(function () {
    $('#portfolio-entrybox li').each(function (i) {
        var oTop = $(this).offset().top;
        var oHeight = $(this).outerHeight();

        var wTop = $(window).scrollTop();
        var wHeight = $(window).height();

        if (oTop < wTop + wHeight) {
            var diff = ((wTop + wHeight - oTop) / oHeight);

            if (diff > 1) diff = 1;
            else if (diff < 0) diff = 0;

            $(this).css('opacity', diff);
        }
    });
});

我需要这些项目在顶部淡出而不是在底部淡出。它们的不透明度应从 100% 开始,当您向下滚动时,它会变为 0%。与此代码原理相同,只是相反。

Fiddle带有现场演示。

最佳答案

我是这样做的:

将您的 if 语句更改为:

if (oTop < wTop) {
    var diff = ((wTop - oTop) / oHeight);

    if (diff >= 1) diff = 1;
    else if (diff <= 0) diff = 0;

    diff = 1 - diff;

    $(this).css('opacity', diff);
}

Updated Fiddle .

关于javascript - 向下滚动时淡出页面顶部的不透明度 javascript,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22521014/

相关文章:

javascript - 根据javascript中的选择选项显示/隐藏div

javascript - 在所有设备和浏览器中使用 jquery 滚动到特定 div

JavaScript 兼容的正则表达式不允许零或任何字符?

javascript - 为什么从 node.js 应用程序调用 iostat 会给我旧信息?

jquery - mousoever 和设置背景颜色

javascript - 如何在 div 中显示结果然后异步更新它们

jquery - css 在 jquery 选项卡系统中不起作用

javascript - 使一个javascript函数在hash后的值发生变化时被调用

来自元素底部的 Javascript 垂直线

javascript - Highchart 工具提示定制