Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/ssis/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
使用javascript单击图像_Javascript_Html - Fatal编程技术网

使用javascript单击图像

使用javascript单击图像,javascript,html,Javascript,Html,因此,我正在尝试为一个站点编写一个脚本,在这个站点中,每次单击图像时图像都会发生变化。我的目标是点击直到得到最终的图像。问题是脚本没有点击任何东西,如果我试图在控制台上打印我要点击的对象是什么,它会显示[object HTMLImageElement]。我使用的代码是: var图像; document.addEventListener(“DOMContentLoaded”,function()){ 睡眠(1); 点击器(); }); 函数点击器() { var计数器=0; console.lo

因此,我正在尝试为一个站点编写一个脚本,在这个站点中,每次单击图像时图像都会发生变化。我的目标是点击直到得到最终的图像。问题是脚本没有点击任何东西,如果我试图在控制台上打印我要点击的对象是什么,它会显示[object HTMLImageElement]。我使用的代码是:

var图像;
document.addEventListener(“DOMContentLoaded”,function()){
睡眠(1);
点击器();
});
函数点击器()
{
var计数器=0;
console.log(“当前图像:+document.querySelector(.image”))
while(document.querySelector(“.image”).src!“https://site/image/4.gif“&&计数器<10)
{
log(“开始时的图像:+document.querySelector(.image”);
document.querySelector(“.image”)。单击();
计数器++;
console.log(“单击”+计数器);
log(“末尾的图像:+document.querySelector(.image”);
睡眠(1);
}
};
/*随机函数(最小值、最大值)
{
返回min+(max-min)*Math.random();
};*/
功能睡眠(s)
{
var now=new Date().getTime();
while(newdate().getTime()}
一种方法是为检查URL的
load
事件使用事件侦听器

var image=document.querySelector(“.image”);
var计数器=0;
函数clickOnImage(){
如果(image.src!“https://site/image/4.gif“&&计数器<10){
image.click();
计数器++;
}否则{
image.removeEventListener(“加载”,单击图像)
}
}
addEventListener(“DOMContentLoaded”,function()){
image.addEventListener(“加载”,单击图像);

});查询选择器返回一个列表。请尝试
querySelector[0]
@PLZHELP您想到的
querySelector所有
JavaScript都是单线程的。您的
sleep()
函数是一个繁忙的等待,它永远不会返回主事件循环,因此click的事件侦听器永远不会运行。您需要使用
setTimeout()
setInterval()
定期运行某些内容。@Barmar补充说,正确实现的睡眠可能是这样的:首先,谢谢你的回答。我尝试了这两种方法,但我得到了另一个错误:“Uncaught TypeError:无法在clickOnImage处读取null的属性'src'。好的,我最终通过在clickOnImage函数中添加image赋值并使用您的setInterval解决方案解决了这个问题,我将它添加到
DOMContentLoaded
函数中。