【发布时间】:2017-05-14 13:01:51
【问题描述】:
在我的 html 页面中有一个加载更多的类。<p class="load-more">Load more</p>。当用户向下滚动到这个 div 时,我需要执行一个函数。例如,我需要提醒“嗨”。为此,我使用了以下代码。
$(window).scroll(function() {
var hT = $(".load-more").offset().top,
hH = $(".load-more").outerHeight(),
wH = $(window).height(),
wS = $(this).scrollTop();
if (wS > (hT+hH-wH)){
alert("Hi");
}
});
但是这里的警报不止一次起作用。即警报重复 4,5 次。为什么会这样? 我看到了这个答案Run jQuery event only once after a condition matches,但它不起作用。
请看这个 js fiddle https://jsfiddle.net/4cfjq1tg/2/。在这里,当我们向下滚动到底部时,它不止一次提醒您。
Here what i need is
如何在特定条件下执行某些功能?例如,当向下滚动以加载更多内容时,我需要检查 CSS 显示 .load-more 的值。如果加载更多是显示块警报 Hi 。 否则什么都不做
更新
我使用这个解决方案解决了这个问题
var in= 0;
$(window).scroll(function(e) {
var hT = $(".load-more").offset().top,
hH = $(".load-more").outerHeight(),
wH = $(window).height(),
wS = $(this).scrollTop();
if(in==0){
if (wS > (hT+hH-wH)){
if($(".load-modre").css("display")!=="block"){
alert("hii");
in ++;
}
} }
});
所有学分都将转到FFdeveloper 和Farzin Kanzi。
谢谢朋友们
【问题讨论】:
-
请给我们更多的细节。也许您的问题出在代码的其他部分,因为这部分对我有用。 JSFiddle:jsfiddle.net/4cfjq1tg/1
-
这也是问题。请参阅jsfiddle.net/4cfjq1tg/2。当您向下滚动时,它会多次提醒您
-
@FFdeveloper 你能写下答案以便我接受吗?我通过你的 js fiddle jsfiddle.net/4cfjq1tg/5 找到了这个逻辑
-
@abilash er 逻辑无法正常工作。我发现另一个似乎有效的帖子,我用链接回答了
标签: javascript jquery html css