【问题标题】:Jquery Show and hide banner on scrollJquery 在滚动条上显示和隐藏横幅
【发布时间】:2016-11-10 23:18:28
【问题描述】:

我正在尝试显示滚动超过 1000 像素的横幅。 所以,它可以工作,但我只需要打开和关闭一次。

Here my complete demo

这是我的 .js

    $(window).scroll(function () {
        if ($(this).scrollTop() > 1000) {
    $("#banner-promo").fadeIn("slow", function () {});

        }

       else {
            //  $('#BackToTop').css({'visibility': 'hidden'});
            $("#banner-promo").fadeOut("slow", function () {});
        }
  $("#chiudi").click(function(){
    $("#banner-promo").fadeOut("slow");
});
});

这样做的最佳做法是什么?

提前致谢

【问题讨论】:

  • 我不知道我明白了。当我到达底部时,我看到了fadeIn()。您是否希望它不再能够向上滚动并重复此操作?为什么不将html { height } 改回1000px
  • 那为什么不把它当作一个对话框来对待。设置它的绝对位置top: 1000,当用户向下滚动时,他们就可以看到它。当他们点击按钮时,元素被移除或隐藏。
  • 嗨@Twisty 这是一个在网页上引入号召性用语的横幅:您可以通过按钮“登录”或“不,谢谢”......无论如何我只想显示一个当您滚动超过 1000 像素并在单击“不,谢谢”时永久关闭它的时间。现在如果您通过按钮关闭它,它会再次返回,因为您仍然滚动了 1000 像素
  • @twisty mmm,是的..也许是一个正确的技巧......但没有很好的淡入淡出效果
  • 当他们到达那里时,您仍然可以使用fadeIn 显示它。但删除它是确保它不再出现的关键。或删除它的选择器。类似$("#banner-promo").attr("id", "banner-promo-closed");

标签: jquery scroll show-hide fadein fadeout


【解决方案1】:

根据 cmets,您选择的答案是使用 remove() 将元素带走而不是隐藏它。

例如:https://jsfiddle.net/Twisty/0go8snsL/

$("#banner-promo").remove();

【讨论】:

  • 抱歉回复晚了。但是,演示链接不起作用。
  • @Pupil 指向小提琴的链接似乎有效。你在看什么?
猜你喜欢
  • 1970-01-01
  • 2022-12-25
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多