仅在用户滚动时显示元素,不会出现褪色的怪癖

时间:2014-03-17 16:21:25

标签: javascript jquery css

我想在页面右侧显示一个目录(对于长Web文档)作为固定元素。

我得到了一个'hello world',相当容易,但我无法弄清楚如何在长卷轴中保持元素不会淡入淡出。

在小提琴上滚动,你会明白我的意思。

js fiddle:http://jsfiddle.net/XGY8H/2/

$(window).scroll(function(){
    var toc = $('.tableOfContents');
    toc.fadeIn();
    setTimeout(function(){
        toc.fadeOut();
    },10000);       
});

谢谢!

1 个答案:

答案 0 :(得分:3)

您可以使用clearTimeout来防止ToC淡出。

$(function () {
    var toc = $('.tableOfContents');
    var fadeTimer;

    toc.fadeOut();
    $(window).scroll(function () {
        toc.fadeIn();

        if (fadeTimer) {
            clearTimeout(fadeTimer);
        }

        fadeTimer = setTimeout(function () {
            fadeTimer = 0;
            toc.fadeOut();
        }, 10000);
    });
});

JSFiddle