Js——代码位置不同,效果不同。
2009-12-22 14:37
281 查看
正确效果是:
单击选中
再次单击取消
正确的效果代码如下:
如果使用这种代码:
将会出现一直是选不中状态。注意,此次的代码感觉上if...else...中都使用了checkAll()函数,于是将这个函数放在循环体外。这样的感觉只是一种想当然,仔细研究才会发现这样的逻辑是不对的。先执行和后执行的区别在此一目了然了。
单击选中
再次单击取消
正确的效果代码如下:
//全部取消代码。兼容IE,FF,Chrome function checkAll() { var ck = document.getElementsByTagName("input"); //找到页面上所有input节点 for (var i = 0; i < ck.length; i++) { if (ck[i].type == "checkbox") { ck[i].checked = false; } } } function ckeckedOne(obj) { if (!obj.checked) { checkAll(); //此处 checkAll()不能放在条件句外,效果不一样 } else { checkAll(); obj.checked = true; } }
如果使用这种代码:
//全部取消代码。兼容IE,FF,Chrome function checkAll() { var ck = document.getElementsByTagName("input"); //找到页面上所有input节点 for (var i = 0; i < ck.length; i++) { if (ck[i].type == "checkbox") { ck[i].checked = false; } } } function ckeckedOne(obj) { checkAll(); //此处 checkAll()不能放在条件句外,效果不一样 if (!obj.checked) { } else { //checkAll(); obj.checked = true; } }
将会出现一直是选不中状态。注意,此次的代码感觉上if...else...中都使用了checkAll()函数,于是将这个函数放在循环体外。这样的感觉只是一种想当然,仔细研究才会发现这样的逻辑是不对的。先执行和后执行的区别在此一目了然了。
相关文章推荐
- Js——代码位置不同,效果不同。
- ajax拖动层,保存层位置,这段代码是从网络人扒拉下来的(非XAJAX),使用类库prototype.js,感觉效果非常好
- ajax拖动层,保存层位置,这段代码是从网络人扒拉下来的(非XAJAX),使用类库prototype.js,感觉效果非常好
- 浏览器兼容性问题,是什么?是同一段js、cs代码,不同浏览器有不同效果,甚至bug
- ajax拖动层,保存层位置,这段代码是从网络人扒拉下来的(非XAJAX),使用类库prototype.js,感觉效果非常好
- js数组特定位置元素置空,非null和undefined,实现echarts现状图效果;谷歌格式化压缩js代码
- ajax拖动层,保存层位置,这段代码是从网络人扒拉下来的(非XAJAX),使用类库prototype.js,感觉效果非常好
- JS 进度条效果实现代码整理
- JS+CSS实现的经典tab选项卡效果代码
- JS组件Bootstrap实现弹出框和提示框效果代码
- js+div实现图片滚动效果代码
- js省市联动效果完整实例代码
- JS实现的不规则TAB选项卡效果代码
- 刷新网页每次显示不同图片的JS代码
- JS自定义滚动条效果简单实现代码
- JS组件系列——Bootstrap寒冬暖身篇:弹出框和提示框效果以及代码展示
- 仿谷歌主页js动画效果实现代码
- JS动画效果代码2
- js调用flash的效果代码