ICode9

精准搜索请尝试: 精确搜索
首页 > 编程语言> 文章详细

具有ID的div将不接受任何事件处理程序JavaScript.没有jQuery

2019-11-22 11:34:11  阅读:221  来源: 互联网

标签:slideshow event-handling css html javascript


我正在将鼠标悬停在div上时试图暂停定时幻灯片播放

    <div id="play_slide" onm ouseOver="clearTimeout(playTime)"></div>

如果我在页面上的li内放onMouseOver =“ clearTimeout(playTime)”,它将暂停,所以我知道我的代码是正确的,它将无法在div上工作!另外,如果我摆脱了ID,当我将警报功能放入事件处理程序时,它将发出警报

这是js.

    var playTime;

    function playSlide()
    {
      var slideshow = document.getElementById("play_slide").style;
      var images = new Array("an", "complete", "red", "thirteen");
      indexPlay++;
      if(indexPlay > images.length - 1)
      {
          indexPlay = 0;
      }
      slideshow.backgroundImage = "url('assets/images/play/"+images[indexPlay]+".png')";

      playTime = setTimeout("playSlide()", 2500);
    }

您可以在这里看到:www.nicktaylordesigns.com/work.html

解决方法:

我会这样做:

(并且没有内联脚本…只是< div id =“ play_slide”>某事< / div>)

var playTime;
var indexPlay = 0;
var slideElement;
window.onload = function () {
    slideElement = document.getElementById("play_slide");
    slideElement.addEventListener('mouseenter', function () {
        console.log('stop');
        clearTimeout(playTime);
    });
    slideElement.addEventListener('mouseleave', function () {
        console.log('continue');
        playTime = setTimeout(playSlide, 2500);
    });
    playSlide();
}

function playSlide() {
    var slideshow = slideElement.style;
    var images = new Array("an", "complete", "red", "thirteen");
    indexPlay++;
    if (indexPlay > images.length - 1) {
        indexPlay = 0;
    }
    slideshow.backgroundImage = "url('assets/images/play/" + images[indexPlay] + ".png')";
    playTime = setTimeout(playSlide, 2500);
}

Fiddle

标签:slideshow,event-handling,css,html,javascript
来源: https://codeday.me/bug/20191122/2059455.html

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有