javascript - 只调用一次 JS 函数

标签 javascript

我正在使用以下函数,该函数运行良好,但我只想调用它一次 - 目前每次我使用滚动时,都会触发函数 id,因此我的动画图表会重新构建。

window.onscroll = function() {


new Chart(document.getElementById("doughnut").getContext("2d")).Doughnut(doughnutData);
new Chart(document.getElementById("line").getContext("2d")).Line(lineChartData);
new Chart(document.getElementById("radar").getContext("2d")).Radar(radarChartData);




}

谢谢!!!

最佳答案

var isNotScrolled = true;

window.onscroll = function() {
  if(isNotScrolled)
  {
    new Chart(document.getElementById("doughnut").getContext("2d")).Doughnut(doughnutData);
    new Chart(document.getElementById("line").getContext("2d")).Line(lineChartData);
    new Chart(document.getElementById("radar").getContext("2d")).Radar(radarChartData);

    isNotScrolled = false;
  }
}

您也可以考虑使用jQuery with waypoint plugin ,这可能会帮助您完全按照自己的意愿行事。

关于javascript - 只调用一次 JS 函数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17898004/

相关文章:

javascript - jQuery 拖放 - 只允许从浏览器外部拖动

javascript - 当鼠标距元素 x 距离时,Jquery 如何触发函数?

javascript - 将所有 JSON 值放入单独的 <div> 中

javascript - 修改滚动方向

javascript - 创建一个将文本转换为 Json 文件的网站

javascript - 从 React 中的方法获取包装 DOM 元素属性

javascript - 如何使用 URLSearchParams 从给定 url 中的一组值中有效地仅删除一个查询字符串?

javascript - 变量赋值后命名函数调用

javascript - 即使列表中的一个未选中,如何取消选中复选框?

javascript - 正则表达式匹配逗号分隔的单词、多行以及两个字符串之间的单词