javascript - 如何解决阻止正在执行的js?
黄舟
黄舟 2017-04-10 16:53:44
[JavaScript讨论组]

demo src:
http://htmlpreview.github.io/?https://github.com/haxuhaibing/ninghuafu.com/blob/master/%E4%BA%A7%E5%93%81.html

需求:body的id会动态的添加
当有id时执行horwheel(view)
当id移除是停止执行horwheel(view)

js添加在common 279行了

黄舟
黄舟

人生最曼妙的风景,竟是内心的淡定与从容!

全部回复(2)
巴扎黑

说的不清不楚的。。。我还是不太明白你所谓的停止执行是什么意思,你那个函数里面是个循环体么?
function ss()
{
while(true){
if(x==true){
return;
}

}
}

    sa=document.body.setAttribute;
Object.defineProperty(document.body,"setAttribute",{get:function(){alert("设置id");ss();return sa;}});
    ra=document.body.removeAttribute;
Object.defineProperty(document.body,"removeAttribute",{get:function(){alert("移除id");x=true;return ra;}});

这个方法可以将document.id的设置跟移除方法进行重定义,你如果要停止执行某个函数,可以在这个函数的循环体中加入一个判断,如果判断变量等于true时就return,这样就停止执行那个函数了,然后在removeAttribute的get中加入修改那个判定变量的语句

不过javascript代码一般是不允许死循环或者死递归的吧,浏览器会阻止这种行为

PHP中文网
window.horwheel = null;
热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板
关于我们 免责申明 意见反馈 讲师合作 广告合作 最新更新 English
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号 技术交流群
PHP中文网订阅号
每天精选资源文章推送
PHP中文网APP
随时随地碎片化学习
PHP中文网抖音号
发现有趣的

Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号