javascript - javascript - 检查函数执行计数并使其执行不超过一次
问题描述
我使用了一个插件“isInViewport js”,它可以让您知道元素何时在视口中,并让您在发生这种情况时执行某些操作。
所以我写了一个计数函数,它是一个数字计数器函数。当一个元素在视口中时执行。
但是每次元素进入视口时,这个计数函数都会开始执行。我希望这个函数执行不超过一次。
这是我编写的代码,运行良好,但与我预期的不同:
$('.earn').on('inview', function (event, visible) {
console.log('inview');
if (visible == true) {
console.log('inview count');
counting();
} else {
$('#counter').text(0);
$('#counter2').text(0+"$");
}
});
我正在寻找的 pusdocode 是:
if(count of function == 0){
executeFunction();
}
else{
}
有人可以通过javascript或jquery为此提供解决方案吗?
解决方案
如果您只需要counting
运行一次,您可以在inview
处理程序中执行类似的操作。
if (visible == true) {
console.log('inview count');
if (!this.is_counted) { // 'this' should refer to your element.earn
counting();
this.is_counted = true;
}
}
推荐阅读
- python - 在 Python 中使用 time.local() 时突然跳转
- python - 尽管我已经完成了所有工作,但我的滚动条无法正常工作
- reactjs - Pdf 在 Syncfusion React 数据网格中不起作用
- class - 关于 dart 中类的常量构造函数
- sql - 在 Microsoft Access 2016 中转义特殊字符
- javascript - JSON Parse 和 JSON Stringify 打印效果不佳
- reactjs - 正在获取数据但“无法读取未定义的属性 '0'”
- javascript - 如何在 jquery 中显示延迟的选项卡?
- javascript - 忽略[url][img]内的所有内容的正则表达式
- flutter - Dart http.client 未接收到 SSE“数据”字段