如何在JavaScript中停止鼠标悬停的间隔?

如何在JavaScript中停止鼠标悬停的间隔?,javascript,html,Javascript,Html,变量pics=[ “图像/城市(1.jpg)”, “图像/城市(2.jpg)”, “图像/城市(3.jpg)”, “图像/城市(4.jpg)”, “图像/城市(5.jpg)”, “图像/城市(6.jpg)”, “图像/城市(7.jpg)”, “图像/城市(8.jpg)”, “image/beach.jpg”, “image/beach2.jpg” ]; var inval; var照片; 函数旋转木马(){ photo=document.getElementById('carousel-pics


变量pics=[
“图像/城市(1.jpg)”,
“图像/城市(2.jpg)”,
“图像/城市(3.jpg)”,
“图像/城市(4.jpg)”,
“图像/城市(5.jpg)”,
“图像/城市(6.jpg)”,
“图像/城市(7.jpg)”,
“图像/城市(8.jpg)”,
“image/beach.jpg”,
“image/beach2.jpg”
];
var inval;
var照片;
函数旋转木马(){
photo=document.getElementById('carousel-pics');
var i=-1;
inval=设置间隔(函数(){
i++;
如果(i>=图片长度){
i=0;
}
photo.src=pics[i];
}, 1000);   
}      
函数removeInterval(){
清除间隔(无效);
}
document.getElementById('carousel-pics')。addEventListener(“鼠标悬停”,removeInterval);

我在这里看到的一个问题是
标签在
脚本
标签下面。当您尝试在
document.getElementById('carousel-pics')
处附加
addEventListener
时,它将不起作用,因为此时
document.getElementById('carousel-pics')
为空。尝试将
script
放在html下面


让ele1=document.getElementById(“测试”)
console.log(“[1]”,ele1)
让ele2=document.getElementById(“测试”)
console.log(“[2]”,ele2)

我在这里看到的一个问题是
标签在
脚本
标签下面。当您尝试在
document.getElementById('carousel-pics')
处附加
addEventListener
时,它将不起作用,因为此时
document.getElementById('carousel-pics')
为空。尝试将
script
放在html下面


让ele1=document.getElementById(“测试”)
console.log(“[1]”,ele1)
让ele2=document.getElementById(“测试”)
console.log(“[2]”,ele2)
如前所述

  • 改变顺序。正文div优先于脚本
  • 更改图像的名称,它已断开
  • 示例如下所示

    var pics=[
    "https://images.unsplash.com/photo-1555797487-a1f30b5d8d55?ixlib=rb-1.2.1&ixid=eyjhcbfawqiojeymdd9&auto=format&fit=crop&w=589&q=400“,
    "https://images.unsplash.com/photo-1533158307587-828f0a76ef46?ixlib=rb-1.2.1&ixid=eyjhcbfawqiojeymdd9&auto=format&fit=crop&w=1567&q=80“,
    "https://images.unsplash.com/photo-1555797487-a1f30b5d8d55?ixlib=rb-1.2.1&ixid=eyjhcbfawqiojeymdd9&auto=format&fit=crop&w=589&q=400“
    ];
    const photo=document.getElementById(“carousel pics”);
    函数旋转木马(){
    设指数=-1;
    const inval=setInterval(函数(){
    索引++;
    如果(索引>=图片长度)(索引=0);
    photo.src=pics[索引];
    }, 1000);
    return()=>clearInterval(无效)
    }
    const unsubscriber=carousel()
    照片。添加了监听器(“鼠标悬停”,取消订阅)
    
    
    
    如前所述

  • 改变顺序。正文div优先于脚本
  • 更改图像的名称,它已断开
  • 示例如下所示

    var pics=[
    "https://images.unsplash.com/photo-1555797487-a1f30b5d8d55?ixlib=rb-1.2.1&ixid=eyjhcbfawqiojeymdd9&auto=format&fit=crop&w=589&q=400“,
    "https://images.unsplash.com/photo-1533158307587-828f0a76ef46?ixlib=rb-1.2.1&ixid=eyjhcbfawqiojeymdd9&auto=format&fit=crop&w=1567&q=80“,
    "https://images.unsplash.com/photo-1555797487-a1f30b5d8d55?ixlib=rb-1.2.1&ixid=eyjhcbfawqiojeymdd9&auto=format&fit=crop&w=589&q=400“
    ];
    const photo=document.getElementById(“carousel pics”);
    函数旋转木马(){
    设指数=-1;
    const inval=setInterval(函数(){
    索引++;
    如果(索引>=图片长度)(索引=0);
    photo.src=pics[索引];
    }, 1000);
    return()=>clearInterval(无效)
    }
    const unsubscriber=carousel()
    照片。添加了监听器(“鼠标悬停”,取消订阅)
    
    
    
    我使用了与您发布和发布的代码完全相同的代码(我只更改了图像)。你能提供更多的信息吗?如何
    控制台
    或一些
    样式
    可以覆盖你的旋转木马(称为“mouseover”事件?记录它)。哦,太奇怪了!这是页面上唯一的脚本!控制台上显示:uncaughttypeerror:cannotreadproperty'addEventListener'在index.html:160处为null。我使用了与您发布和发布的代码完全相同的代码(我只更改了图像)。你能提供更多的信息吗?如何
    控制台
    或一些
    样式
    可以覆盖你的旋转木马(称为“mouseover”事件?记录它)。哦,太奇怪了!这是页面上唯一的脚本!控制台上显示:uncaughttypeerror:无法读取index.html:160处null的属性'addEventListener'