最初学习的是手动触发事件,添加的是onmouseover,其中index是关键,tab标签与现实内容的div索引一一对应,遍历tab标签,当鼠标移动到某标签时,触发对应的内容div显示。
for(var i=0;i<img.length;i++){
img[i].index=i;
img[i].onmouseover=function(){
for(var i=0;i<img.length;i++){
img[i].className="";
content_div[i].className="content_div";
};
this.className="active";
content_div[this.index].className="content_div_active";
};
} 但是在需要添加定时器时,无函数可调用,基本思路应该是,编辑一个根据tab标签而切换内容的函数,调用分别为两处:onmouseover和setInterval中。上面代码写在遍历for循环里面,执行函数与i相关联,
如果单独抽出,其中变动的数字不知如何表达,网上查阅答案,发现可以使用传参的方式(好像在学习的初期,不太习惯使用函数传参,但是这样貌似能更加容易的解决问题) var img=document.getElementsByTagName("img");
var content_div=document.getElementsByClassName("content")[0].getElementsByTagName("div");
var index=0; for (var i = 0; i< img.length; i++)
{
img[i].index=i;
img[i].onmouseover=function()
{
autoChange(this); //点击到哪一个img,函数就对那个img执行。
};
}; function autoChange(obj){
if(!obj){ //obj为undefined,!obj为true。
obj = img[index]; //初始index为0;所以定时器由img[0]开始执行
if(index>=img.length-1) { //当index>=3,即循环到最后一个img时---->>>index=0,开始循环到第一个img
index = 0;
}else {
index++;
}
}
for (var i = 0; i< img.length; i++)
{
img[i].className="";
content_div[i].className="content_div";
};
obj.className="active";
content_div[obj.index].className="content_div_active";
} setInterval(autoChange,1000); //autoChange不带括号写入,表示将整个函数的方法写入,其中obj不传参。

最新文章

  1. php木马样本,持续更新
  2. 哪些HTML5特性值得期待
  3. weinre targets none 的问题
  4. Git 使用方法
  5. 【重要版本】Firefly alpha beta v1.2.2 正式发布
  6. OpenJudge 2787 算24
  7. Swift数据类型之整型和浮点型-备
  8. html5 手机APP计算高度问题
  9. SQL server sysobjects表说明
  10. CodeForces 725A
  11. 《程序员修炼之道:从小工到专家》【PDF】下载
  12. 【转载】Apache Storm 官方文档 —— 基础概念
  13. JavaScript中调皮的undefined
  14. 安卓开发_数据存储技术_sqlite
  15. adblock 下载地址
  16. Data - Hadoop伪分布式配置 - 使用Hadoop2.8.0和Ubuntu16.04
  17. 20款最好的免费 Bootstrap 后台管理和前端模板
  18. 关于Eclipse如何加入Gradle文件与Android Studio两个平台一起开发,工作目录不发生变化
  19. iOS开发如何在一个透明视图上添加不透明的子控件
  20. Dream------Hadoop--FSDataInputStream和FSDataOutputStream

热门文章

  1. 【java】org.apache.commons.lang3功能示例
  2. 转,SelectNodes + XPath
  3. Percona Toolkit 使用
  4. i2c 读写
  5. JVM实用参数(七)CMS收集器
  6. JVM实用参数(五)新生代垃圾回收
  7. HDNOIP201405杨辉三角
  8. Ionic发布成android
  9. Maven(二)使用eclipse创建maven多模块项目
  10. IOS 本地通知推送消息