Tab切换效果制作
2016-05-14 22:53
429 查看
鼠标滑过切换
HTML代码:
<body> <div id="notice" class="notice"> <div id="noticeTitle" class="noticeTitle"> <ul> <li class="select"><a href="#">公告1</a></li> <li><a href="#">公告2</a></li> <li><a href="#">公告3</a></li> <li><a href="#">公告4</a></li> <li><a href="#">公告5</a></li> </ul> </div> <div id="noticeContent" class="noticeContent"> <div class="mod" style="display: block"> <p>内容1内容1内容1内容1内容1内容1内容1 内容1内容1内容1内容1内容1内容1</p> </div> <div class="mod" style="display: none"> <p>内容2内容2内容2内容2内容2内容2内容2 内容2内容2内容2内容2内容2内容2</p> </div> <div class="mod" style="display: none"> <p>内容3内容3内容3内容3内容3内容3内容3 内容3内容3内容3内容3内容3内容3</p> </div> <div class="mod" style="display: none"> <p>内容4内容4内容4内容4内容4内容4内容4 内容4内容4内容4内容4内容4内容4</p> </div> <div class="mod" style="display: none"> <p>内容5内容5内容5内容5内容5内容5内容5 内容5内容5内容5内容5内容5内容5</p> </div> </div> </div> </body>
css代码:
*{ padding:0; margin: 0; font-size: 15px; } a{ text-decoration: none; } .notice{ width: 298px; height: 98px; margin: 10px; border: 1px solid #eee; overflow: hidden; } .noticeTitle{ height: 27px; position: relative; } .noticeTitle ul{ position: absolute; width: 301px; left: -1px; } .noticeTitle li{ width: 58px; height: 26px; line-height: 26px; text-align: center; overflow: hidden; background-color: #fff; border-bottom: 1px solid #eee; padding:0 1px; float: left; background-color: #F7F7F7; } .noticeTitle li a:link,.noticeTitle li a:visited{ color: #333; } .noticeTitle li a:hover{ color:#F90; } .noticeTitle li.select{ background-color: #fff; border-bottom-color: #fff; border-left: 1px solid #eee; border-right: 1px solid #eee; padding:0; font-weight: bold; } .noticeContent .mod{ margin: 10px 10px 10px 19px; width: 269px; height: 51px; overflow: hidden; }
鼠标滑过切换js代码:
function addLoadEvent(func){ var oldonload=window.onload; if(typeof window.onload!='function'){ window.onload=func(); } else{ window.onload=function(){ oldonload(); func(); } } } //鼠标滑过立马显示切换 function mouseOverMain(){ var noticeTitles=document.getElementById("noticeTitle").getElementsByTagName("li"); var noticeContents=document.getElementById("noticeContent").getElementsByTagName("div"); if(noticeTitles.length!=noticeContents.length){ return; } for(var i= 0,len=noticeTitles.length;i<len;i++){ noticeTitles[i].index=i; //鼠标滑过切换 noticeTitles[i].onmouseover=function(){ if(this.className=='select'){ return; } //清除之前的高亮显示 for(var j= 0;j<noticeTitles.length;j++){ if( noticeTitles[j].className='select'){ noticeTitles[j].className=" "; noticeContents[j].style.display="none"; } } this.className="select"; noticeContents[this.index].style.display="block"; } } } addLoadEvent(mouseOverMain);
鼠标滑过延迟切换
鼠标滑过延迟切换js代码:
function setTimeoutMain(){ var noticeTitles=document.getElementById("noticeTitle").getElementsByTagName("li"); var noticeContents=document.getElementById("noticeContent").getElementsByTagName("div"); var timer=null; if(noticeTitles.length!=noticeContents.length){ return; } for(var i= 0,len=noticeTitles.length;i<len;i++){ noticeTitles[i].index=i; //鼠标滑过切换 noticeTitles[i].onmouseover=function(){ if(this.className=='select'){ return; } //如果存在准备执行的定时器,立刻清除,只有当前停留时间大约500s才开始执行 if(timer){ clearTimeout(timer); timer=null; } //延迟半秒执行 setTimeout是隶属于window对象的,this... var that=this; timer=setTimeout(function(){ //清除之前的高亮显示 for(var j= 0;j<noticeTitles.length;j++){ if( noticeTitles[j].className='select'){ noticeTitles[j].className=" "; noticeContents[j].style.display="none"; } } that.className="select"; noticeContents[that.index].style.display="block"; },500); } } } addLoadEvent(<span style="font-family: Arial, Helvetica, sans-serif;">setTimeoutMain</span>);
鼠标滑过延迟切换
相关文章推荐
- 求单向链表中的倒数第K个节点2
- ruby4种比较符号
- 94. Binary Tree Inorder Traversa
- MySQL更新用户密码
- 微软面试100题-69
- WEB请求处理(1):浏览器请求发起处理
- Matrix变换矩阵的探索(2)
- android开发笔记之多媒体—画画板(娱乐一下)
- Spring Mvc那点事---(6)Spring Mvc @ModelAttribute属性和@SessionAttribute属性
- BMC hang后恢复的几种方法
- 学习HTML与CSS
- 顺序表应用3:元素位置互换之移位算法
- 兼容各浏览器的iframe - onlaod事件
- Oracle 是分区表,但条件不带分区条件的SQL
- 数字在计算机中是如何存储的
- spss v21.0 使用笔记
- android.view.InflateException: Binary XML file line #异常的解决
- 顺序表应用2:多余元素删除之建表算法
- Leetcode 206. Reverse Linked List
- Linux下crontab命令详解