[英]Get image ids in a div every second
当点击以下代码的div时,我成功获取了div中所有图像的id:
<script type="text/javascript">
function getimgid(){
var elems = [].slice.call( document.getElementById("card") );
elems.forEach( function( elem ){
elem.onclick = function(){
var arr = [], imgs = [].slice.call( elem.getElementsByTagName("img") );
if(imgs.length){
imgs.forEach( function( img ){
var attrID = img.id;
arr.push(attrID);
alert(arr);
});
} else {
alert("No images found.");
}
};
});
}
</script>
上面的代码完美地工作,在点击卡片 div时执行图像ID的警告消息。 现在我想要的是运行这个功能,而不是每5秒钟点击一次div。 我尝试过setInterval(getimgid,5000) ,但它不起作用。 我应该修改上面代码的哪一部分来调用函数而不单击div。 任何帮助将非常感激。
使用elem.click()触发点击
function getimgid() {
var elems = [].slice.call(document.getElementsByClassName("card"));
elems.forEach(function (elem) {
elem.onclick = function () {
var arr = [],
imgs = [].slice.call(elem.getElementsByTagName("img"));
if (imgs.length) {
imgs.forEach(function (img) {
var attrID = img.id;
arr.push(attrID);
alert(arr);
});
} else {
alert("No images found.");
}
};
elem.click();
});
}
setInterval(getimgid, 1000);
问题 :您没有触发setInterval
的单击。 您只需每5秒重新运行一次事件绑定。
解决方案 :在另一个触发点击的功能上设置Interval。 或者,如果您根本不想手动点击,则完全删除click
装订。
更新小提琴 : http : //jsfiddle.net/abhitalks/3Dx4w/5/
JS :
var t;
function trigger() {
var elems = [].slice.call(document.getElementsByClassName("card"));
elems.forEach(function (elem) {
elem.onclick();
});
}
t = setInterval(trigger, 5000);
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.