window.clearinterval
时间: 2023-04-15 20:01:49 浏览: 155
window.clearInterval是JavaScript中的一个函数,用于停止通过setInterval函数设置的定时器。当调用window.clearInterval时,定时器将被停止并且不再执行。
相关问题
if(this.timer !=null){ window.clearInterval(this.timer); this.timer = null; } if (layerId == '' || layerId == null || featureId == '' || featureId == null) { return; } let layers = viewer.scene.primitives._primitives; let that = this; layers.forEach(item => { if (item.id && item.id == layerId) { item.root.children.forEach(function (element) { if (element.content != null && element.content != undefined) { let featureNum = element.content.featuresLength; for (let i = 0; i < featureNum; i++) { var feature = element.content.getFeature(i); if (feature.getProperty("id") == featureId) { let flag = true; that.timer = window.setInterval(function () { if (flag) { feature.color = Cesium.Color.RED; } else { feature.color = Cesium.Color.WHITE; } flag = !flag; }, 1000); break; } } } }) } })
根据您提供的代码,我看到您正在尝试清除定时器和设置新的定时器。请注意以下几点:
1. 首先,确保在调用 `window.clearInterval` 之前检查 `this.timer` 的值是否为 `null`。这样可以避免尝试清除一个不存在的定时器。
2. 其次,在设置新的定时器之前,确保将 `this.timer` 设置为 `null`。这样可以确保在清除旧的定时器之前,没有新的定时器在运行。
3. 另外,请确保在设置新的定时器之前,已经找到了对应的要素(`feature`)。这样可以避免在没有要素的情况下设置定时器,从而导致错误。
根据您提供的代码,似乎已经考虑到了这些问题。如果您仍然遇到问题,请提供更多的上下文信息和详细描述,以便我能够更准确地帮助您解决问题。
在HTML中,修改以下代码,要求实现所有图片依次循环想上滑动的效果<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <title>鼠标移到到图片,图片向上滑动预览效果</title> <style> #demo img{ height:150px; } #demo{ width: 1000px; overflow: hidden; } </style> </head> <body> <div id="demo"> <table> <tr> <td id="demo1"> <table> <tr> <td><img src="img/1.jpg" alt=""></td> <td><img src="img/2.jpg" alt=""></td> <td><img src="img/3.jpg" alt=""></td> <td><img src="img/4.jpg" alt=""></td> <td><img src="img/5.jpg" alt=""></td> <td><img src="img/6.jpg" alt=""></td> <td><img src="img/7.jpg" alt=""></td> <td><img src="img/8.jpg" alt=""></td> </tr> </table> </td> <td id="demo2"></td> </tr> </table> </div> <script> demo2.innerHTML=demo1.innerHTML; demo.scrollTop=demo1.offsetHeight; function scroll(){ demo.scrollTop-=3; if(demo.scrollTop<=0) demo.scrollTop=demo1.offsetHeight; } var timerId=window.setInterval(scroll,30); demo.onmouseover=function(){ window.clearInterval(timerId); } demo.onmouseout=function(){ timerId=window.setInterval(scroll,10); } </script> </body> </html>
您可以将 JavaScript 部分的代码修改为以下内容:
```javascript
var timerId = null;
var imgHeight = 150; // 图片高度
var imgNum = demo1.querySelectorAll('img').length; // 图片数量
var scrollHeight = imgHeight * imgNum; // 滚动高度
var scrollPos = 0; // 当前滚动位置
function scroll() {
demo.scrollTop = scrollPos;
scrollPos += imgHeight;
if (scrollPos >= scrollHeight) {
scrollPos = 0;
demo2.innerHTML = demo1.innerHTML;
}
}
timerId = window.setInterval(scroll, 3000);
demo.onmouseover = function() {
clearInterval(timerId);
};
demo.onmouseout = function() {
timerId = setInterval(scroll, 3000);
};
```
这样,就可以实现所有图片依次循环向上滑动的效果。
阅读全文