【发布时间】:2014-04-30 22:07:34
【问题描述】:
我想要 3 个 div 每秒更改其图像。此代码不会调用任何错误,但唯一有效的是具有 script9.js 源的第 3 个 div。为什么会这样?请帮忙...这里是:
我有 3 次潜水,其中包含来自自己文件夹的图像:
<html>
<head>
<script type="text/javascript" src="mainjavascript.js"></script>
<script type="text/javascript" src="script8.js"></script>
<script type="text/javascript" src="script9.js"></script>
</head>
<body onload = "startTimer()">
<div><img id="img" src="pictures7/1.jpg">7</div>
<div><img id="img2" src="pictures8/1.jpg">8</div>
<div><img id="img3" src="pictures9/1.jpg">9</div>
</body>
</html>
我有 3 个类似的 JavaScript 文件,每个 div 一个,通过 ID 获取元素,唯一的区别是“** **”符号:
function displayImage(image) {
document.getElementById(**"img"**).src = image;
}
function displayNextImage() {
x = (x == images.length - 1) ? 0 : x + 1;
displayImage(images[x]);
}
function displayPreviousImage() {
x = (x <= 0) ? images.length - 1 : x - 1;
displayImage(images[x]);
}
function startTimer() {
setInterval(displayNextImage, 1000);
}
var images = [], x = -1;
images[0] = **"pictures7/"** + "1.jpg";
images[1] = **"pictures7/"** + "2.jpg";
for(var y=2;y<4;y++){
images[y]= **"pictures7/"** + (y+1) + ".jpg";
}
第二格:
function displayImage(image) {
document.getElementById(**"img2"**).src = image;
}
function displayNextImage() {
x = (x == images.length - 1) ? 0 : x + 1;
displayImage(images[x]);
}
function displayPreviousImage() {
x = (x <= 0) ? images.length - 1 : x - 1;
displayImage(images[x]);
}
function startTimer() {
setInterval(displayNextImage, 1000);
}
var images = [], x = -1;
images[0] = **"pictures8/"** + "1.jpg";
images[1] = **"pictures8/"** + "2.jpg";
for(var y=2;y<4;y++){
images[y]= **"pictures8/"** + (y+1) + ".jpg";
}
第三区:
function displayImage(image) {
document.getElementById(**"img3"**).src = image;
}
function displayNextImage() {
x = (x == images.length - 1) ? 0 : x + 1;
displayImage(images[x]);
}
function displayPreviousImage() {
x = (x <= 0) ? images.length - 1 : x - 1;
displayImage(images[x]);
}
function startTimer() {
setInterval(displayNextImage, 1000);
}
var images = [], x = -1;
images[0] = **"pictures9/"** + "1.jpg";
images[1] = **"pictures9/"** + "2.jpg";
for(var y=2;y<4;y++){
images[y]= **"pictures9/"** + (y+1) + ".jpg";
}
再一次,只有 id 为“img3.jpg”的图像正在工作......它是否取消了其他代码? 我应该使用 Jquery 还是其他代码?请帮帮我。
【问题讨论】:
-
您正在重复相同的功能。您应该使用一组函数并将它们作为变量传递图像文件夹路径。
标签: javascript php jquery asp.net html