Javascript 添加暂停:“暂停”;悬停“;到现有js

Javascript 添加暂停:“暂停”;悬停“;到现有js,javascript,Javascript,这里是新的,所以请原谅任何错误。我已经搜索了stackoverflow,但找不到一种方法来为我从W3Schools获得的现有脚本添加悬停,有人能告诉我怎么做吗?这是我正在使用的代码: <script> var myIndex = 0; carousel(); function carousel() { var i; var x = document.getElementsByClassName("mySlides"); for (i = 0; i &

这里是新的,所以请原谅任何错误。我已经搜索了stackoverflow,但找不到一种方法来为我从W3Schools获得的现有脚本添加悬停,有人能告诉我怎么做吗?这是我正在使用的代码:

<script>
var myIndex = 0;
carousel();

function carousel() {
  var i;
  var x = document.getElementsByClassName("mySlides");
  for (i = 0; i < x.length; i++) {
    x[i].style.display = "none";  
  }
  myIndex++;
  if (myIndex > x.length) {myIndex = 1}    
  x[myIndex-1].style.display = "block";  
  setTimeout(carousel, 3000);

}
</script>

var-myIndex=0;
转盘();
函数旋转木马(){
var i;
var x=document.getElementsByClassName(“mySlides”);
对于(i=0;ix.length){myIndex=1}
x[myIndex-1].style.display=“block”;
设置超时(旋转木马,3000);
}
html


飞卸
飞泥5
var-myIndex=0;
转盘();
函数旋转木马(){
var i;
var x=document.getElementsByClassName(“mySlides”);
对于(i=0;ix.length){myIndex=1}
x[myIndex-1].style.display=“block”;
设置超时(旋转木马,3000);
}
试试这个

在HTML文件中:

<div class="mySlides" onhover="myFunction" />

您可以在脚本中创建一个变量。在元素悬停时将其设置为true,并在函数中检查该变量是否为true,然后不要移动图像。但您必须在鼠标移出时取消设置此变量

大概是这样的:


var doCarousel=true;
函数stopCarousel(){
doCarousel=假;
}
函数startCarousel(){
doCarousel=真;
}
函数旋转木马(){
如果(!doCarousel)返回;
var i;
var x=document.getElementsByClassName(“mySlides”);
对于(i=0;ix.length){myIndex=1}
x[myIndex-1].style.display=“block”;
设置超时(旋转木马,3000);
}

将超时id存储在一个变量中,并调用
窗口。clearTimeout(…)
类似于

<script>
       var myIndex = 0;
       var timeout;
       carousel();
    
       function carousel() {
           var i;
           var x = document.getElementsByClassName("mySlides");
           for (i = 0; i < x.length; i++) {
               x[i].style.display = "none";
           }
           myIndex++;
           if (myIndex > x.length) {
               myIndex = 1
           }
           x[myIndex - 1].style.display = "block";
           timeout = setTimeout(carousel, 3000);
    
       }
    
    
       function stopCarousel() {
           window.clearTimeout(timeout);
       }
</script>

var-myIndex=0;
var超时;
转盘();
函数旋转木马(){
var i;
var x=document.getElementsByClassName(“mySlides”);
对于(i=0;ix.length){
myIndex=1
}
x[myIndex-1].style.display=“block”;
超时=设置超时(旋转木马,3000);
}
函数stopCarousel(){
clearTimeout(超时);
}

当然,您需要在您希望转盘停止的事件上调用
stopCarousel
-函数。

您可以共享您的html吗?添加到原始帖子中的html。谢谢大家。
function myFunction() {
  ... do something
}
<script>
       var myIndex = 0;
       var timeout;
       carousel();
    
       function carousel() {
           var i;
           var x = document.getElementsByClassName("mySlides");
           for (i = 0; i < x.length; i++) {
               x[i].style.display = "none";
           }
           myIndex++;
           if (myIndex > x.length) {
               myIndex = 1
           }
           x[myIndex - 1].style.display = "block";
           timeout = setTimeout(carousel, 3000);
    
       }
    
    
       function stopCarousel() {
           window.clearTimeout(timeout);
       }
</script>