脚本相互冲突——JavaScript
Scripts collide with each other - JavaScript
我有一个页面,基本上是一个div列表;它们的结构如何并不重要,只要默认情况下它们都是可见的就足够了。多亏了java脚本,页面上有一些按钮可以让您对它们进行排序。例如,如果单击"完成"按钮,页面将只显示包含代码
的div。<div class="ended">complete</div>
而如果你按下"show all"按钮,它会返回显示所有内容。(结构类似于
<div class="entry">
<p>something</p>
<div class="ended">complete</div>
et cetera </div>
我最近决定添加一个新按钮,它从它们中随机选择一个div。这一切都工作得很好,除了当你试图在随机选择一个之后再次显示它们时,它不起作用。
我不太熟悉JavaScript和JQuery(我从这里找到的脚本随机改编的脚本),所以我不明白哪里出错了。
这是排序脚本(其中一个)的代码:
$('#completed').click(function() {
featureList.filter(function(item) {
if (item.values().ended == "complete") {
return true;
} else {
return false;
}
});
return false;
});
下面是显示所有按钮的代码:
$('#filter-none').click(function() {
featureList.filter();
return false;
});
最后,这是随机按钮的代码:
$(document).ready(function () {
$('#random').click(function () {
var E = document.getElementsByClassName("entry");
var m = E.length;
var n = parseInt(Math.random() * m);
for (var i = m - 1; i >= 0; i--) {
var e = E[i];
e.style.display = 'none';
}
E[n].style.display = '';
});
});
如果不知道。filter-function内部发生了什么,很难给出答案,但根据您提供的内容,这可以工作:
$('#random').click(function () {
var entries = document.getElementsByClassName("entry");
var numEntries = entries.length;
var random = Math.floor(Math.random() * numEntries);
var counter = numEntries;
featureList.filter(function(item) {
counter--;
if (counter === random) {
return true;
} else {
return false;
}
});
return false;
}
我假设在。filter中返回false
的元素以某种方式隐藏。
由于'Show all'和'Show only completed'是工作的,使用'Show only completed'的方式隐藏错误的元素在'Show random'应该工作
相关文章:
- 防止WordPress javascript冲突的良好实践
- IE8/Javascript冲突?IE8正在开发中冻结整个站点-包括Javascript列表
- 对象数组上的html5 javascript冲突
- 插件导致Wordpress图像滑块中的JavaScript冲突
- 与原型javascript冲突
- 响应式菜单和响应式幻灯片之间的 JavaScript 冲突
- Javascript 冲突问题
- Jquery Mobile 与其他 JavaScript 冲突
- 浏览器缓存与我的 javascript 冲突,以将值添加到列表框
- Javascript 冲突 ajax 邮件和脚本
- 窗口加载与 body onload JavaScript 冲突
- 如何进行Javascript冲突
- 包括与外部页面javascript冲突的页面javascript
- 解决Wordpress网站上的javascript冲突
- 正在解决Javascript冲突
- CSS或JavaScript冲突-谷歌地图获胜;t显示
- Javascript冲突倒计时
- Javascript冲突(淡入VS.jQuery Accordion)
- Wordpress中的Javascript冲突
- 解决Javascript冲突/ jquery