Tab选项卡 延迟切换效果js实现

try.html

<!DOCTYPE html>
<html>
<head>
    <meta charset="utf-8">
    <title></title>
    <link rel="stylesheet" type="text/css" href="try.css">
    <script type="text/javascript" src="try.js"></script>
</head>
<body>
<div id="notice" class="notice">
    <div class="notice-tit" id="notice-tit">
        <ul>
            <li><a href="#">公告</a></li>
            <li><a href="#">规则</a></li>
            <li><a href="#">论坛</a></li>
            <li><a href="#">安全</a></li>
            <li class="select"><a href="#">公益</a></li>
        </ul>
    </div>
    <div id="notice-con" class="notice-con">
        <div class="mod" style="display: none;">
            <ul>
                <li><a href="#">张勇:玩快乐足球</a></li>
                <li><a href="#">张勇:玩快乐足球</a></li>
                <li><a href="#">张勇:玩快乐足球</a></li>
                <li><a href="#">张勇:玩快乐足球</a></li>
            </ul>
        </div>
        <div class="mod" style="display: none;">
            <ul>
                <li><span>[<a href="#">通知</a>]</span><a href="#">张勇:要玩快乐足球</a></li>
                <li><span>[<a href="#">通知</a>]</span><a href="#">张勇:要玩快乐足球</a></li>
                <li><span>[<a href="#">通知</a>]</span><a href="#">张勇:要玩快乐足球</a></li>
                <li><span>[<a href="#">通知</a>]</span><a href="#">张勇:要玩快乐足球</a></li>
            </ul>
        </div>
        <div class="mod" style="display: none;">
            <ul>
                <li><span>[<a href="#">通知</a>]</span><a href="#">张勇:玩快乐足球</a></li>
                <li><span>[<a href="#">通知</a>]</span><a href="#">张勇:玩快乐足球</a></li>
                <li><span>[<a href="#">通知</a>]</span><a href="#">张勇:玩快乐足球</a></li>
                <li><span>[<a href="#">通知</a>]</span><a href="#">张勇:玩快乐足球</a></li>
            </ul>
        </div>
        <div class="mod" style="display: none;">
            <ul>
                <li><a href="#">张勇:要玩快乐</a></li>
                <li><a href="#">张勇:要玩快乐足球</a></li>
                <li><a href="#">张勇:要玩快乐足球</a></li>
                <li><a href="#">张勇:要玩快乐足球</a></li>
            </ul>
        </div>
        <div class="mod" style="display: block;">
            <ul>
                <li><a href="#">张勇:要玩快乐</a></li>
                <li><a href="#">张勇:要玩快乐足球</a></li>
                <li><a href="#">张勇:要玩快乐足球</a></li>
                <li><a href="#">张勇:要玩快乐</a></li>
            </ul>
        </div>
    </div>
</div>
</body>
</html>

 try.css 

*{
    margin: 0;
    padding:0;
    list-style: none;
    font-size: 12px;
}
.notice{
    width: 298px;
    height: 98px;
    margin: 10px;
    border: 1px solid #eee;
    overflow: hidden;
}
.notice-tit{
    height: 27px;
    position: relative;
    background-color: #f7f7f7;
}
.notice-tit ul{
    position: absolute;
    width: 301px;
    left: -1px;
}
.notice-tit ul li{
    float: left;
    width: 58px;
    height: 26px;
    text-align: center;
    line-height: 26px;
    overflow: hidden;
    padding: 0 1px;
    background: #f7f7f7;
    border-bottom: 1px solid #eee;

}
.notice-tit ul li.select{
    background: #fff;
    border-bottom-color: #fff;
    border-left: 1px solid #eee;
    border-right: 1px solid #eee;
    padding: 0;
    font-weight: bolder;
}
.notice li a:link,.notice-tit li a:visited{
    text-decoration: none;
    color: #000;
}
.notice li a:hover{
    color: #f90;
}
.notice-con .mod{
    margin: 10px 10px 10px 19px;
}
.notice-con .mod ul li{
    float: left;
    width: 134px;
    height: 25px;
    overflow: hidden;
}

  try.js

function $(id){
    return typeof id===‘string‘?document.getElementById(id):id;
}
window.onload = function()
{
    var index=0;
    var timer=null;

    //获取鼠标滑过或点击的标签和要切换内容的元素
    var titles = $(‘notice-tit‘).getElementsByTagName(‘li‘);
    var divs  =$(‘notice-con‘).getElementsByTagName(‘div‘);
    // alert(divs.length);
    if(titles.length!=divs.length)
        return;

    for(var i=0;i<titles.length;i++){
        titles[i].id=i;
        titles[i].onmouseover=function(){
            // 用that这个变量来引用当前滑过的li
            var that=this;
            // 如果存在准备执行的定时器,立刻清除,只有当前停留时间大于500ms时才开始执行
            if(timer){
                clearTimeout(timer);
                timer=null;
            }
            // 延迟半秒执行
            timer=window.setTimeout(function(){
                for(var j=0;j<titles.length;j++){
                    titles[j].className=‘‘;
                    divs[j].style.display=‘none‘;
                }
                titles[that.id].className=‘select‘;
                divs[that.id].style.display=‘block‘;
            },500);
        }
    }
}

  效果:

2017-09-05  20:32:11

时间: 2024-10-04 07:12:53

Tab选项卡 延迟切换效果js实现的相关文章

Tab选项卡 自动切换效果js实现

try.html <!DOCTYPE html> <html> <head> <meta charset="utf-8"> <title></title> <link rel="stylesheet" type="text/css" href="try.css"> <script type="text/javascript&qu

【Little Demo】左右按钮tab选项卡双切换

通过前一篇文章 从简单的Tab标签到Tab图片切换 的说明,相关效果也就可以实现了. 1.左右按钮tab选项卡双切换 很明显,左右两个按钮是 absolute 布局,另外就是内容部分和Tab标签部分. 1) 先实现Tab内容和标签部分的显示: HTML代码: <div class="tab-Infomations"> <div class="arrows"></div> <div class="tab-conten

tab响应式切换效果

实现tab响应式切换效果,利用js对样式进行动态切换即可. 多的不说,请看代码 <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html xmlns="http://www.w3.org/1999/xhtml"> <hea

tab选项卡代码(原生js)

<!DOCTYPE html><html lang="en"><head> <meta charset="UTF-8"> <title>tab选项卡一练习</title> <style> *{ margin: 0px; padding: 0px; } #tab{ width: 400px; height: 250px; margin: 20px auto; position: rel

自定义属性之图片切换实例——初始化、实现切换效果——JS学习笔记2015-5-29(第42天)

这里已经实现了图片的切换功能,注意思路还是利用自定义属性当做桥梁,来变换匹配的对应元素: 1 <!DOCTYPE HTML> 2 <html> 3 <head> 4 <meta http-equiv="Content-Type" content="text/html; charset=utf-8"> 5 <title>无标题文档</title> 6 <style> 7 ul { pa

[Jquery]tab页面切换效果

思路:取得头部和内容的div,头部当前点击的高亮,其余的去除高亮,并通过index()方法获得当前点击的索引,然后内容div通过.eq(index)显示和隐藏 优化:当前做法,从第一个快速移到最后一个,中间每个内容都会相继显示出来.比较好的用户体验是,从某个标签迅速移到另一个标签,中间不想看的内容不显示出来.这就需要延迟切换效果(每次划每次加载信息,必将影响性能) 使用定时器:setTimeout(500毫秒),每次鼠标滑过的时候,先判断定时器存不存在,存在的话先清除定时器,然后开启定时器,执行

Tab页签切换

js之tab页签切换效果 现在web网站,很多地都需要用到tab页签. 示例: $(document).ready(function(){ var curIndex; var $lis = $(".active-hd li"); var $divs = $(".active-bd div"); // 为每一个tab页签li绑定click事件 $lis.on("click",function(){ curIndex = $(this).index(

weui 多网页切换效果分析

weui的文档写的不怎么详尽,简单的来讲WeUI 为微信 Web 服务量身设计的h5框架. WeUI是一套同微信原生视觉体验一致的基础样式库,由微信官方设计团队为微信 Web 开发量身设计,可以令用户的使用感知更加统一.包含button.cell.dialog. progress. toast.article.icon等各式元素. 严格的讲它是一个css库.算一个精简的库. 如果要用jQuery开发的话,head部分,需要加载如下信息: <head> <meta charset=&quo

jquery简单的图片切换效果,支持pc端、移动端的banner图片切换开发

详细内容请点击 无意中看见了两年前写的一个图片切换,那会儿刚刚学习网页制作,可以说是我的第一个处女座的jquery图片切换效果.无聊之余对它的宽度稍稍做了一下修改,变成了支持pc端.手机端全屏的banner图片切换效果. 写法很简单,网页初学者们或者wenbapp初学者们可以拿去学习学习,也可以在这基础上加上手机的图片滑动切换效果.废话不多说,下面说说这个简单的图片切换的效果吧! 首先以下是图片切换的效果图:   图片切换效果html内容: <div class="tyna2"&