选项卡自动运行和手动选择的代码

1.Html代码

<!DOCTYPE html>
<html>

<head>
<meta charset="utf-8" />
<title></title>
<style type="text/css">
*{
margin: 0;
padding: 0;
}
.nav li{
list-style: none;
float: left;
width: 40px;
text-align: center;
}
.clearFix:after{
content: "";
display: block;
clear: both;
}
.tabs{
width: 200px;
height: 100px;
}
.tabs ul{

}
.tabs>div{

}
.nav .actived{
background: red;
}
.tabs>div{
display: none;
}
.tabs .actived{
display: block;
}
</style>
</head>

<body>
<div class="tabs">
<ul class="nav clearFix">
<li class="actived">A</li>
<li>B</li>
<li>C</li>
<li>D</li>
<li>E</li>
</ul>
<div class="actived">aaaa</div>
<div>bbbb</div>
<div>cccc</div>
<div>dddd</div>
<div>eeee</div>
</div>
<div class="news tabs">
<ul class="nav clearFix">
<li class="actived">A</li>
<li>B</li>
<li>C</li>
<li>D</li>
<li>E</li>
</ul>
<div class="actived">aaaa</div>
<div>bbb</div>
<div>ccc</div>
<div>ddd</div>
<div>eeee</div>
</div>
<div class="pics tabs">
<ul class="nav clearFix">
<li class="actived">A</li>
<li>B</li>
<li>C</li>
<li>D</li>
<li>E</li>
</ul>
<div class="actived">aaaa</div>
<div>bbb</div>
<div>ccc</div>
<div>ddd</div>
<div>eeee</div>
</div>
<div class="autotabs tabs">
<ul class="nav clearFix">
<li class="actived">A</li>
<li>B</li>
<li>C</li>
<li>D</li>
<li>E</li>
</ul>
<div class="actived">aaaa</div>
<div>bbb</div>
<div>ccc</div>
<div>ddd</div>
<div>eeee</div>
</div>
<script src="js/utilWY.js" type="text/javascript" charset="utf-8"></script>
<script src="js/ownerTabs.js" type="text/javascript" charset="utf-8"></script>
<script type="text/javascript">
window.onload=function () {
new Tabs(".tabs");
new Tabs(".news");
new Tabs(".pics");
new AutoTabs(".autotabs");
}
</script>
</body>

</html>

2.js代码部分

function Tabs (tabs) {
//找到选项卡
this.tabs = document.querySelector(tabs||".autotabs");
//找到当前选项卡里的所有的li
this.aLi = WY.nodeListToArr(this.tabs.querySelectorAll(".nav li"));
//找到所有的DIV,通过数组的filter方法获取满足条件的
var children=WY.nodeListToArr(this.tabs.children);
this.aDiv = children.filter(function (item) {
//将所有满足节点是DIV的item返回
return item.nodeName=="DIV";
});
console.log(this.aDiv);
//给每个li绑定onmouseover事件
for(var i = 0,len = this.aLi.length;i<len;i++){
//因为这里调用了change方法,this指向由指向函数变成指向this.aLi,所以用bind将它绑定
this.aLi[i].onmouseover = this.change.bind(this);

}
}
//
Tabs.prototype.change=function (event) {
var currLi=event.target;
if(!currLi.classList.contains(".actived")){
var aActived=this.tabs.querySelectorAll(".actived");
aActived[0].removeAttribute("class");
aActived[1].removeAttribute("class");
}
currLi.setAttribute("class","actived");
this.aDiv[this.aLi.indexOf(currLi)].setAttribute("class","actived");

}

function AutoTabs (tabs) {
Tabs.call(this,tabs);//继承父类的属性
this.iNow=0;
for(var i=0,len=this.aLi.length;i<len;i++){
this.aLi[i].addEventListener("mouseover",this.change2.bind(this),false);
}
for(var i=0,len=this.aLi.length;i<len;i++){
this.aLi[i].addEventListener("mouseout",this.autoPlay.bind(this),false);
}
this.autoPlay();
}
AutoTabs.prototype=new Tabs();
AutoTabs.prototype.autoPlay=function () {
clearInterval(this.timer);
this.timer=setInterval(this.play.bind(this),1000);
}
AutoTabs.prototype.play=function () {
this.aLi[this.iNow].removeAttribute("class");
this.aDiv[this.iNow].removeAttribute("class");
this.iNow++;
if(this.iNow>this.aLi.length-1){
this.iNow=0;
}
this.aLi[this.iNow].setAttribute("class","actived");
this.aDiv[this.iNow].setAttribute("class","actived");
}
AutoTabs.prototype.change2=function () {
clearInterval(this.timer);
var target=event.target;
this.iNow=this.aLi.indexOf(target);
}

时间: 2024-10-17 05:09:33

选项卡自动运行和手动选择的代码的相关文章

SAE部署Python-让云端自动运行Python代码

之前写过模拟登录新浪微博的帖子,然而我并没有去爬过微博的数据,觉得有点浪费,于是就想写一个代码来发微博.写完之后觉得如果能自动发微博就好了,但是我又不可能24小时开始(晚上12点后还会断网),也没有vps(穷学生狗),找过几个免费vps未果,然后想到之前用过新浪SAE,就想能不能在上面试试. 试了一天左右终于让我试出来了!!  基本实现了: 1.定时发送,这里是定时半小时 2.离线自动,基于sae,无需开电脑blabla 但是也有不完美的地方:本地我可以直接模拟登录,但是把代码放到sae上死都不

只需手动增加一行代码即可让Laravel4运行在SAE

Github:https://github.com/chariothy/laravel4-sae laravel4-sae 只需手动增加一行代码即可让Laravel4(~4.2)运行在SAE,而且在本地和在SAE开发无需命令切换,自动判断环境并切换配置. 安装 在SAE安装Laravel 在SAE安装Laravel与本地环境安装稍有区别: 在SAE的"应用管理"中新建一个没有代码的应用,比如叫project-name(这里面只是便于举例,实际上SAE不允许用字符'-'): 用svn将其

分享下使用 svn,测试服务器代码自动更新、线上服务器代码手动更新的配置经验

分享下使用 svn,测试服务器代码自动更新.线上服务器代码手动更新的配置经验 利用SVN的POST-COMMIT钩子自动部署代码 Linux SVN 命令详解 Linux SVN 命令详解2

如何解决:登录桌面时自动运行的EXE提示“该程序没有与之关联来执行操作”,之后出现蓝屏代码0xc000021a

问题描述 软件中有个模块在开机自动运行,并且会启动另外一个EXE(其中会获取一些硬件信息,用户信息,网络信息等). 系统新建一个用户后,在登录新用户时,首次登录系统会创建用户目录,初始化桌面,outlook信息,IE信息等,在此过程中开机自动运行模块就启动了另外一个EXE,此时报错并弹出提示框"该程序没有与之关联来执行操作.....". 错误分析 1)蓝屏代码0xc000021a,百度发现该蓝屏代码有人说是用户子系统损坏导致的,需要重装系统. 2)"该程序没有与之关联来执行操

如何做LR自动关联和手动关联?

一.什么时候需要关联   1.关联的含义        关联的含义A(correlation):在脚本回放过程中,客户端发出请求,通过关联函数所定义的左右边界值(也就是关联规则),在服务器所响应的内容中查找,得到相应的值,已变量的形式替换录制时的静态值,从而向服务器发出正确的请求,这种动态获得服务器响应内容的方法被称作关联. 关联的含义B(correlation):就是把脚本中某些写死的代码(hard_coded)数据,转变成撷(xie)取自服务器所送的.动态的.每次都不一样的数据. 其实关联也

Atitit.线程 死锁 跑飞 的检测与自动解除 与手动解除死锁 java c# .net php javascript.

Atitit.线程 死锁 跑飞 的检测与自动解除 与手动解除死锁 java c# .net php javascript. 1. 现象::主程序卡住无反应,多行任务不往下执行 1 2. 原因::使用jv jprofile查看线程,原来俩个线程死锁了.. 1 3. Java的缺点,默认不能自动解除死锁 1 4. 自动检测与解除死锁::使用看门狗watchdog 2 4.1. 死锁检测算法(太麻烦,不推荐) 2 4.2. 硬件看门狗 2 4.3. 软件看门狗的实现--TIMER 2 4.4. LIN

/etc/rc.local 与 /etc/init.d Linux 开机自动运行程序

1. /etc/rc.local 这是使用者自订开机启动程序,把需要开机自动运行的程序写在这个脚本里 --------引用---------------------- 在完成 run level 3 的服务启动后,如果我还有其他的动作想要完成时,举例来说, 我还想要寄一封 mail 给某个系统管理帐号,通知他,系统刚刚重新开机完毕,那么, 是否应该要制作一个 shell script 放置在 /etc/rc.d/init.d/ 里面,然后再以连结方式连结到 /etc/rc.d/rc3.d/ 里面

webstorm git 怎么断开版本控制 webstorm git for windows 禁止 自动运行

也是无语啊,今天装了下最新版本的webstorm ,  发现特别卡,老动不动就卡死, 看了下进程, 牛X 啊,  git for windows 一直蹭蹭蹭的疯狂增长,一开始的一点到后来的庞然大物. 一会就 这电脑能不卡死吗...... 手动关闭下进程,明显不卡,不过一会又出来了,很郁闷..... ----------------------------------------------------- 网上搜了下,怎么 禁用 这个进程   webstorm git for windows 禁止

VBA中四种自动运行的宏以及模块的含义

在Excel的“标准模块”中可以创建4种自动运行的宏,它们分别是Auto_Open(打开工作 簿时自动运行), Auto_Close, Auto_Activate,  Auto_Deactivate.这些自动运行的宏是为了与Excel5和95兼容而保留下来的.现在可以使用工作簿的Open,Close,Activate,Deactivate 事件来代替它们. 那么,什么是“标准模块”呢?其实就是我们在VBE中插入的那个模块,微软称它为“标准模块”.而其余的三类:Microsoft Excel对象,