SoFunction
Updated on 2025-03-03

How to implement simple tabs and automatic switching effects by js

This article describes how to implement simple tabs and automatic switching effects by JS. Share it for your reference. The specific analysis is as follows:

Here is the article "JS implements simple switchable tab effect》 Based on the fact that the switching effect can be automatically switched, you can use this effect to make a simple focus picture.

illustrate:

Set a flag number to 0, write a function that flags +1 every few seconds, executes the switching effect, and then executes.
Set the flag to 0 when the flag exceeds the current tab length.
Turn off the timer when the mouse moves to the tab, turn on the timer when the mouse moves away.

<!DOCTYPE html>
<html>
<head>
<meta charset="gb2312" />
<title>Untitled document</title>
<style>
body,ul,li{
margin:0;
padding:0;
font:12px/1.5 arial;
}
ul,li{
list-style:none;
}
.wrap{
width:500px;
margin:20px auto;
}
.hide{
display:none;
}
#tab_t{
height:25px;
border-bottom:1px solid #ccc;
}
#tab_t li{
float:left;
width:80px;
height:24px;
line-height:24px;
margin:0 4px;
text-align:center;
border:1px solid #ccc;
border-bottom:none;
background:#f5f5f5;
cursor:pointer
}
#tab_t .act{
position:relative;
height:25px;
margin-bottom:-1px;
background:#fff;
}
#tab_c{
border:1px solid #ccc;
border-top:none;
padding:20px;
}
</style>
<script>
 = function(){
 tab("tab_t","li","tab_c","div","onmouseover")
 function tab(tab_t,tab_t_tag,tab_c,tag_c_tag,evt){
  var tab_t = (tab_t);
  var tab_t_li = tab_t.getElementsByTagName(tab_t_tag);
  var tab_c = (tab_c);
  var tab_c_li = tab_c.getElementsByTagName(tag_c_tag);
  var len = tab_t_li.length;
  var i=0;
  var timer = null;
  var num=0;
   for(i=0; i<len; i++){
    tab_t_li[i].index = i;
    tab_t_li[i][evt] = function(){
     clearInterval(timer);
     num = ;
     tab_change()
    }
    tab_t_li[i].onmouseout = function(){
     autoplay();
    }
   }
  function tab_change(){
   for(i=0; i<len; i++){
    tab_t_li[i].className = '';
    tab_c_li[i].className = 'hide';
   }
   tab_t_li[num].className = 'act';
   tab_c_li[num].className = '';
  }
  function autoplay(){
   timer = setInterval(function(){
    num++;
    if(num>=len) num=0;
    tab_change();
   },1000);
  }
  autoplay();
 }
}
</script>
</head>
<body>
<div class="wrap">
 <ul >
 <li class="act">choose1</li>
 <li>choose2</li>
 <li>choose3</li>
 <li>choose4</li>
 </ul>
 <div >
 <div>content1</div>
 <div class="hide">content2</div>
 <div class="hide">content3</div>
 <div class="hide">content4</div>
 </div>
</div> 
</body>
</html>

I hope this article will be helpful to everyone's JavaScript programming.