|
@@ -102,29 +102,47 @@
|
|
</div>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
<script>
|
|
<script>
|
|
- var btns = document.getElementsByTagName('li')
|
|
|
|
|
|
+ var btns = document.getElementsByTagName('li') //类数组
|
|
var imgs = document.getElementsByClassName('selected')
|
|
var imgs = document.getElementsByClassName('selected')
|
|
var next = document.getElementById('next')
|
|
var next = document.getElementById('next')
|
|
var prev = document.getElementById('prev')
|
|
var prev = document.getElementById('prev')
|
|
var container = document.getElementById('container')
|
|
var container = document.getElementById('container')
|
|
|
|
|
|
|
|
+ //定义全局索引变量
|
|
iNow = 0
|
|
iNow = 0
|
|
|
|
+ //想要给类数组绑定点击事件 我们需要利用循环
|
|
for (var i = 0; i < btns.length; i++) {
|
|
for (var i = 0; i < btns.length; i++) {
|
|
|
|
+ //创建一个属性 去把索引的值提取出来
|
|
|
|
+ //局部变量
|
|
btns[i].index = i
|
|
btns[i].index = i
|
|
|
|
+ //btns[0].index = 0
|
|
|
|
+ //btns[1].index = 1
|
|
|
|
+ //给数组里面每一项都绑定点击事件
|
|
btns[i].onclick = function () {
|
|
btns[i].onclick = function () {
|
|
|
|
+ // 一上来清除所有的样式 恢复到没有设置的时候
|
|
for (var k = 0; k < btns.length; k++) {
|
|
for (var k = 0; k < btns.length; k++) {
|
|
|
|
+ //按钮恢复
|
|
btns[k].className = ''
|
|
btns[k].className = ''
|
|
imgs[k].className = 'selected'
|
|
imgs[k].className = 'selected'
|
|
}
|
|
}
|
|
|
|
+ //谁的点击事件就是谁
|
|
|
|
+ // btns[0,1,2,3,4,5].className = 'select'
|
|
|
|
+ //this = btns[点击的那个索引]
|
|
this.className = 'select'
|
|
this.className = 'select'
|
|
|
|
+ //从上面换算一下 this.index = btns[点击的那个索引].index
|
|
|
|
+ //例子: 点击索引为2的按钮 this.index = btns[2].index ---> btns[2].index = 2
|
|
imgs[this.index].className = 'selected choice'
|
|
imgs[this.index].className = 'selected choice'
|
|
|
|
+ //赋值为当前的索引
|
|
iNow = this.index
|
|
iNow = this.index
|
|
}
|
|
}
|
|
}
|
|
}
|
|
//下一个点击事件
|
|
//下一个点击事件
|
|
next.onclick = function () {
|
|
next.onclick = function () {
|
|
console.log(iNow)
|
|
console.log(iNow)
|
|
|
|
+ //当前的索引+1 ----->下一个
|
|
iNow++;
|
|
iNow++;
|
|
|
|
+ //当我们图片 索引+= 5 发现数组里面没有这么多个 变为空白 提醒报错
|
|
|
|
+ //需要判断 如果 超出了 索引的最大值 变为索引为0 的图片
|
|
if (iNow > btns.length - 1) {
|
|
if (iNow > btns.length - 1) {
|
|
iNow = 0
|
|
iNow = 0
|
|
}
|
|
}
|
|
@@ -134,6 +152,8 @@
|
|
// }
|
|
// }
|
|
// btns[iNow].className = 'select'
|
|
// btns[iNow].className = 'select'
|
|
// imgs[iNow].className = 'selected choice'
|
|
// imgs[iNow].className = 'selected choice'
|
|
|
|
+
|
|
|
|
+ //把方法提取出去 避免代码重复
|
|
myFun(iNow)
|
|
myFun(iNow)
|
|
}
|
|
}
|
|
//上一个点击事件
|
|
//上一个点击事件
|
|
@@ -154,12 +174,16 @@
|
|
container.onmouseout = function () {
|
|
container.onmouseout = function () {
|
|
next.style.display = 'none'
|
|
next.style.display = 'none'
|
|
prev.style.display = 'none'
|
|
prev.style.display = 'none'
|
|
|
|
+ //划出的时候 需要重新设定定时器
|
|
|
|
+ //不要var var就相当于在这个函数里面 又创建了一个 定时器 同名 会同时触发
|
|
|
|
+ //重新唤醒之前的定时器就可以
|
|
timer = setInterval(function () {
|
|
timer = setInterval(function () {
|
|
next.onclick()
|
|
next.onclick()
|
|
}, 1000)
|
|
}, 1000)
|
|
}
|
|
}
|
|
|
|
|
|
//定时器
|
|
//定时器
|
|
|
|
+ //如果在这个页面里面 想要实现 定时下一个 就相当于 触发了 下一个的事件
|
|
var timer = setInterval(function () {
|
|
var timer = setInterval(function () {
|
|
next.onclick()
|
|
next.onclick()
|
|
}, 1000)
|
|
}, 1000)
|
|
@@ -170,6 +194,7 @@
|
|
btns[k].className = ''
|
|
btns[k].className = ''
|
|
imgs[k].className = 'selected'
|
|
imgs[k].className = 'selected'
|
|
}
|
|
}
|
|
|
|
+ //变得只是传进来的索引
|
|
btns[xx].className = 'select'
|
|
btns[xx].className = 'select'
|
|
imgs[xx].className = 'selected choice'
|
|
imgs[xx].className = 'selected choice'
|
|
}
|
|
}
|