Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/480.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 只调用JS函数一次_Javascript - Fatal编程技术网

Javascript 只调用JS函数一次

Javascript 只调用JS函数一次,javascript,Javascript,我正在使用下面的函数,它运行得很好,但我只想调用它一次——目前每次我使用scroll时,函数id都会被触发,因此我的动画图表会被重新构建 window.onscroll = function() { new Chart(document.getElementById("doughnut").getContext("2d")).Doughnut(doughnutData); new Chart(document.getElementById("line").getContext("2d")).

我正在使用下面的函数,它运行得很好,但我只想调用它一次——目前每次我使用scroll时,函数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;
  }
}
<>你也可以考虑使用,这可以帮助你做你想做的事情。
<>你也可以考虑使用,这可能有助于你做你想做的事情。

“我只想叫它一次”;那你为什么用onscroll?嗯。。。只需将
window.onscroll
替换为
window.onload即可:我只是希望当用户将页面滚动到图表所在的div时,图表被设置为动画。有更好的方法吗?基本上,图表都在页面下方,我希望只有当用户向下滚动时才能加载图表,这样他们才能看到动画。window.onload将在用户看到图表之前设置图表动画“我只想调用一次”;那你为什么用onscroll?嗯。。。只需将
window.onscroll
替换为
window.onload即可:我只是希望当用户将页面滚动到图表所在的div时,图表被设置为动画。有更好的方法吗?基本上,图表都在页面下方,我希望只有当用户向下滚动时才能加载图表,这样他们才能看到动画。window.onload将在用户看到图表在if()中更改之前设置图表动画,很好+1哈哈哈哈;)在if()中更改,很好+1哈哈哈哈;)