DOM事件笔记

点击别处关闭浮层

1.阻止事件传播(stopPropagation)

阻止冒泡,不通知父级元素
代码(document监听浪费内存)

2.setTimeout延迟

利用setTimeout设置事件监听,冒泡完成后监听才进入队列生效
代码(有bug)

3.点开浮层、关闭浮层的例子

写出一个点开浮层、关闭浮层的例子,要求
点击按钮弹出浮层
点击别处关闭浮层
点击浮层时,浮层不得关闭
再次点击按钮,浮层消失
代码

jQuery做一个自动播放的无缝轮播

代码

1.轮播思想

window固定,设置slides的translateX()

2.无缝

设置fake:第一张前面加最后一张的copy,最后一张后面加第一张的copy
先切换到fake,然后隐藏切换到真正页

$slides.css({transform:`translateX(100px)`}) //先切换到fake
      .one('transitionend',function(){
        $slides.hide().offset() //隐藏
        $slides.css({transform:`translateX(200px)`}).show() //切换到真正页再显示
      })

3.自动播放

设置计时器setInterval实现自动播放,但是浏览器切换到其他页面,计时器会乱掉,所以切换到其它页面时就砸掉计时器,回来的时候就重新计时。
document添加监听事件visibilitychange,切换页面后document.hidden=true,切换回来后document.hidden=false

//离开界面砸掉计时器,回来重新设置一个
document.addEventListener('visibilitychange',function(e){
  if(document.hidden){
    clearInterval(timer)
  }else{
    timer = setInterval(function(){
      goToSlide(current+1)
    },2000)
  }
})
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

  • 第一部分 HTML&CSS整理答案 1. 什么是HTML5? 答:HTML5是最新的HTML标准。 注意:讲述HT...
    kismetajun阅读 28,403评论 1 45
  • onclick和addEventListener('click', function() {}) xxx.oncl...
    squall1744阅读 3,947评论 0 2
  • 发现 关注 消息 iOS 第三方库、插件、知名博客总结 作者大灰狼的小绵羊哥哥关注 2017.06.26 09:4...
    肇东周阅读 14,736评论 4 61
  • 一、学习任务 英语:记背单词 新76 旧100 何凯文每日一句更新 长难句半小节 数学:第四章第四小节~有理函数...
    狂野的孩儿也狂野阅读 583评论 0 0
  • 正月初三又称小年朝,也称赤狗日,作为古老的中国传统节日,相传这一天女娲娘娘创造出了猪。 中国民间传说初三晚上是老鼠...
    朝华_董董阅读 4,243评论 2 44

友情链接更多精彩内容