override fadeout()display:none

时间:2015-02-25 18:56:29

标签: javascript jquery html css

这里有一个小提琴: http://jsfiddle.net/BP6rq/1514/

淡出我的元素,并在达到必要点后将其置于fixed位置。我正在使用fadeOut()作为后备效果。问题是我不希望它隐藏。我知道fadeTo,但是我无法达到同样的效果。我也尝试重写显示:none,但这消除了淡入淡出效果的功能。我可以做些什么来保持淡入淡出效果,但是当向后滚动并回到原始位置时,fadeOut()不会消失?

思想?

1 个答案:

答案 0 :(得分:1)

animate()与css opacity一起使用,而不是fadeIn fadeOut:

jsFiddle Demo

$(window).bind("scroll", function () {
    $.fx.speeds.xslow = 250;
    if ($(this).scrollTop() > 50) {
        $('#bottomcta')
        .animate({
            'opacity': 1
        },1000)
        .addClass('fixed');
    } else {
        $('#bottomcta')
        .animate({
            'opacity': 0
        },1000)
        .removeClass('fixed');
    }
});