js鼠标经过tab选项卡时实现切换延迟


Posted in Javascript onMarch 24, 2017

       偶然间在浏览网页时,发现这样的效果。当鼠标不经意间滑过tab时并不会切换,当鼠标停留在上面一段时候后才会切换。

个人觉得用户体验不错,优点是1.当用户只是滑过标签,并不需要切换,而此时如果切换标签需要请求数据时,会避免不必要的异步请求;2.避免页面在用户不需要的时候切换跳动,影响用户体验。

网上查阅了几个方法,发现下面的方法更简洁有效。整理下来,供以后参考。

其中的重点是那段js代码:原理是,通过hover的时候设置定时器,延迟执行切换方法,离开时,清楚计时器。当hover的时间小于延迟时间时,会清楚计时器,不会执行切换方法。仅当停留时间大于延迟时间才会切换。这样能有效避免滑过tab触发切换事件。

复制代码

<!DOCTYPE html>
<html>
  <head>
    <meta charset="UTF-8">
    <title></title>
    <script type="text/javascript" src="js/jquery.1.11.3.min.js"></script>
    <script>
      $(function() {
        var t_li = $(".tab")
        var c_li = $(".tab-content div")
        t_li.hover(function() {
          var i = t_li.index($(this));

          function way() {
            t_li.removeClass("cur").eq(i).addClass("cur");
            c_li.hide().eq(i).show();
          }
          timer = setTimeout(way, 500);
        }, function() {
          clearTimeout(timer);
        });
      });
    </script>
    <style>
      .head {
        width: 300px;
        height: 50px;
        border: 1px dashed #ccc;
      }
      
      .tab {
        width: 50%;
        float: left;
        line-height: 50px;
        cursor: pointer;
      }
      
      .cur {
        border-bottom: 2px solid red;
      }
    </style>
  </head>
  <body>
    <div style="width: 300px;margin-left: 300px;" class="main">
      <div class="head">
        <div class="tab cur">tab1</div>
        <div class="tab">tab2</div>
      </div>
      <div class="tab-content">
        <div>tab1的内容<br>tab1的内容<br>tab1的内容<br></div>
        <div style="display: none;">tab2的内容<br>tab2的内容<br>tab2的内容<br></div>
      </div>
    </div>
  </body>

</html>

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持三水点靠木。

Javascript 相关文章推荐
JS 字符串连接[性能比较]
May 10 Javascript
基于jquery完美拖拽,可返回拖动轨迹
Mar 29 Javascript
Jquery遍历Json数据的方法
Apr 20 Javascript
Javascript表单特效之十大常用原理性样例代码大总结
Jul 12 Javascript
解决拦截器对ajax请求的拦截实例详解
Dec 21 Javascript
jQuery使用EasyUi实现三级联动下拉框效果
Mar 08 Javascript
jQuery动态追加页面数据以及事件委托详解
May 06 jQuery
jQuery+ajax实现局部刷新的两种方法
Jun 08 jQuery
Vue.js单向绑定和双向绑定实例分析
Aug 14 Javascript
element-ui上传一张图片后隐藏上传按钮功能
May 22 Javascript
Vue内部渲染视图的方法
Sep 02 Javascript
JavaScript组合设计模式--改进引入案例分析
May 23 Javascript
详解angular2实现ng2-router 路由和嵌套路由
Mar 24 #Javascript
JS实现向iframe中表单传值的方法
Mar 24 #Javascript
JS正则替换去空格的方法
Mar 24 #Javascript
原生js封装自定义滚动条
Mar 24 #Javascript
fckeditor部署到weblogic出现xml无法读取及样式不能显示问题的解决方法
Mar 24 #Javascript
jQuery实现鼠标经过显示动画边框特效
Mar 24 #jQuery
JS得到当前时间的方法示例
Mar 24 #Javascript
You might like
深入理解PHP之require/include顺序 推荐
2011/01/02 PHP
简单的php数据库操作类代码(增,删,改,查)
2013/04/08 PHP
destoon会员注册提示“数据校验失败(2)”解决方法
2014/06/21 PHP
PHP格式化MYSQL返回float类型的方法
2016/03/30 PHP
PHP面向对象程序设计之对象克隆clone和魔术方法__clone()用法分析
2019/06/12 PHP
用JavaScript获取网页中的js、css、Flash等文件
2006/12/20 Javascript
ASP.NET jQuery 实例18 通过使用jQuery validation插件校验DropDownList
2012/02/03 Javascript
ExtJS判断IE浏览器类型的方法
2014/02/10 Javascript
Ext修改GridPanel数据和字体颜色、css属性等
2014/06/13 Javascript
alert出数组中的随即值代码
2014/09/25 Javascript
JavaScript在Android的WebView中parseInt函数转换不正确问题解决方法
2015/04/25 Javascript
微信小程序实现移动端滑动分页效果(ajax)
2017/06/13 Javascript
webpack教程之webpack.config.js配置文件
2017/07/05 Javascript
vue 巧用过渡效果(小结)
2018/09/22 Javascript
微信小程序与公众号实现数据互通的方法
2019/07/25 Javascript
如何基于原生javaScript生成带图片的二维码
2019/11/21 Javascript
JS实现简单日历特效
2020/01/03 Javascript
javascript设计模式之迭代器模式
2020/01/30 Javascript
[05:49]2014DOTA2TI4正赛第二日综述 昔日冠军纷纷落马 VG LGD占尽先机
2014/07/20 DOTA
[05:31]DOTA2上海特级锦标赛主赛事第三日RECAP
2016/03/05 DOTA
Python中logging模块的用法实例
2014/09/29 Python
Python实现二分查找算法实例
2015/05/26 Python
python制作一个桌面便签软件
2015/08/09 Python
python实现JAVA源代码从ANSI到UTF-8的批量转换方法
2015/08/10 Python
python利用有道翻译实现&quot;语言翻译器&quot;的功能实例
2017/11/14 Python
pip安装py_zipkin时提示的SSL问题对应
2018/12/29 Python
基于多进程中APScheduler重复运行的解决方法
2019/07/22 Python
Django ORM 常用字段与不常用字段汇总
2019/08/09 Python
基于python实现蓝牙通信代码实例
2019/11/19 Python
jupyter notebook的安装与使用详解
2020/05/18 Python
Django restful framework生成API文档过程详解
2020/11/12 Python
俄罗斯眼镜网: optikaworld
2016/07/31 全球购物
Mytheresa美国官网:德国知名的女性奢侈品电商
2017/05/27 全球购物
澳洲国民品牌乡村路折扣店:Country Road & Trenery Outlet
2018/04/19 全球购物
交通事故协议书范本
2014/11/18 职场文书
2015年教师自我评价范文
2015/03/04 职场文书