所以我得到了这个画廊脚本,它工作正常,但我试图导入onMousedown功能,所以当我点击并按住“下一个”或“上一个”链接时,图像只是在循环中不断变化,直到我发布链接
<html>
<head>
<script type='text/javascript'>
var imageGallery = [
"img1.jpg" ,
"img2.jpg" ,
"img3.jpg",
"img4.jpg"
];
var imgCount = 0;
var totalImgs = imageGallery.length - 1;
function next() {
imgCount++ ;
if(imgCount > totalImgs) imgCount = 0
document.getElementById("gallery").src = imageGallery[imgCount] ;
}
function previous() {
imgCount--;
if(imgCount < 0) imgCount = totalImgs ;
document.getElementById("gallery").src = imageGallery[imgCount] ;
}
</script>
</head>
<body>
<a href="#" onMousedown="next(); return false;">Next</a>
<a href="#" onMousedown="previous(); return false;">Back</a>
<img id="gallery"src="img1.jpg"style="height:420px;width:744px">
</body>
</html>
答案 0 :(得分:1)
您可以尝试以这种方式挂钩鼠标:
window.onmouseup
事件函数中清除间隔考虑删除内联事件绑定..
HTML:
<a href="#" onMousedown="next(); return false;">Next</a>
<a href="#" onMousedown="previous(); return false;">Back</a>
<img id="gallery" src="http://placehold.it/350x150" style="height:420px;width:744px">
代码:
var imageGallery = [
"http://placehold.it/350x150",
"http://placehold.it/350x250",
"http://placehold.it/350x350",
"http://placehold.it/350x450"];
var imgCount = 0;
var totalImgs = imageGallery.length - 1;
var timer;
function next() {
timer = setInterval(function fn() {
imgCount++;
if (imgCount > totalImgs) imgCount = 0
document.getElementById("gallery").src = imageGallery[imgCount];
return fn;
}(), 500)
}
function previous() {
timer = setInterval(function fn() {
console.log('prev')
imgCount--;
if (imgCount < 0) imgCount = totalImgs;
document.getElementById("gallery").src = imageGallery[imgCount];
return fn;
}(), 500)
}
function stopInterval() {
clearInterval(timer)
}
window.onmouseup = stopInterval;