请问轮播图如何实现鼠标移入就暂停呢,移出继续轮播呢?

JavaScript022

请问轮播图如何实现鼠标移入就暂停呢,移出继续轮播呢?,第1张

鼠标事件是onmouseover和onmouseout,轮播图移动图片是需要计时器,可以把计时器赋值给一个全局或者是上一级的变量var timer=setinterval(()=>{}, time),并把计时器封装成方法,鼠标移速就清除计时器clearInterval(timer),鼠标移出就再次调用封装好的计时器方法。

var datas = [

{imgSrc:"(图片 )"},

{imgSrc:"(图片 )"},

{imgSrc:"(图片 )"},

{imgSrc:"(图片 )"},

{imgSrc:"(图片 )"},

{imgSrc:"(图片 )"}

]

var banner = document.getElementById("banner")

var list = document.getElementById("list")

for(var i = 0,len = datas.lengthi<leni++){

var div = document.createElement("div")

var li = document.createElement("li")

if(i==0){ //默认第一项轮播项显示 对应的控制按钮被选中

div.className = "item active"

li.className = "active"

}else{ //其他项隐藏 其他的控制按钮样式不改变

div.className = "item"

li.className = ""

}

div.innerHTML = '<a href="' + datas[i].targetSrc + '">' +

'<img src="' + datas[i].imgSrc + '" />' +

'</a>'

li.innerHTML = i + 1

banner.appendChild(div)

list.appendChild(li)

}

var lunBo = document.getElementById("lunBo")

var items = document.querySelectorAll("#lunBo #banner .item")

var lis = document.querySelectorAll("#lunBo #list li")

var currentIndex = 0//(控制按钮和轮播项共同的索引)

for(var i = 0,len = lis.lengthi<leni++){

lis[i].index = i

lis[i].onmouseenter = function(){

currentIndex = this.index

for(var j = 0j<lenj++){

lis[j].className = ""

items[j].className = "item"

}

this.className = "active"

items[this.index].className = "item active"

}

}

var termId //全局变量

function autoPlay(){

termId = setInterval(function(){

currentIndex++

if(currentIndex==lis.length){

currentIndex = 0

}

lis[currentIndex].onmouseenter()

},3000)

}

autoPlay()//打开页面自动轮播

//鼠标进入停止轮播

lunBo.onmouseenter = function(){

clearInterval(termId)

}

//鼠标离开继续轮播

lunBo.onmouseleave = function(){

autoPlay()

}

我这还有其他的,先采纳一下加我,我给你发

//鼠标离开启动自动播放

oBox.onmouseout = function ()

{

autoPlay()

}

//自动播放函数

function autoPlay ()

{

play = setInterval(function () {

index++

index >= aImg.length &&(index = 0)

show(index)

},3000)

}

autoPlay()//应用

我感觉这个地方出问题