代码如下
var step = imgWidth * 2 / 80
for(var a = 0;a < goLeft.length;a++){
(function(i){
goLeft[i].addEventListener('click',function(){
var timer = setInterval(function(){
var listLeft = parseInt(intelList[i].style.left.slice(0,-2))
if(listLeft <= -imgWidth * 4 ){
clearInterval(timer)
}else{
intelList[i].style.left = (listLeft + -step) + 'px'
}
},1)
goRight[i].style.display = "block"
goLeft[i].style.display = "none"
})
})(a)
}
for(var b = 0;b < goRight.length;b++){
(function(i){
goRight[i].addEventListener('click',function(){
var timer = setInterval(function(){
var listLeft = parseInt(intelList[i].style.left.slice(0,-2))
if(listLeft >= 0 ){
clearInterval(timer)
}else{
intelList[i].style.left = (listLeft + step) + 'px'
}
},1)
goRight[i].style.display = "none"
goLeft[i].style.display = "block"
})
})(b)
就是选取了一组按钮,点击之后让列表的left值改变,写完之后再chrome下可以运行,但是在360浏览器下left值不变,但是按钮的display属性变了,应该是setInterval 那段不运行,请问有什么办法吗?
Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号
确定在谷歌或ie下能运行吗?
因为你这个是代码片段 建议把匿名自定义函数提取出一个方法 每次传goRight[i]进行监听
可以改为setTimeout试一下