0

所以我使用 javascript 创建了我自己的滑块。我总共有 12 张图片。6 50x50 和 6 200x200。较小的图像从 1,2,3,4,5,6 切换回 1。当单击图像时,较大的图像会在新窗口中打开。问题是当我单击第 6 个较小的图像并打开弹出窗口时,图像已损坏。我已经对其进行了调试,发现问题是当我打开图像时,我会收到弹出窗口打开 0 的警报。

任何帮助,将不胜感激。这很可能是我没有看到的简单事情。

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">

<html>
<head>
<script>

number=1
function move(){
brillo.src="images/tudelude_0"+number+".jpg"
number++

 if (number>6) number=1
 setTimeout("move()",1000)

 }


function Open(){
t=number-1

var newWindow = window.open("", "pictureViewer", "fullscreen=no");
newWindow.document.writeln("<img src='images/tude_0"+t+".jpg'/>");
alert(t)
newWindow.document.close(); 
}

</script>
</head>

<body onload="move()">

<div class="box">
 <img src="images/tudelude_01.jpg" name="brillo" 
 onclick="Open(); return true;">
 </div>
</body>
</html>
4

1 回答 1

0

您的问题是number不能准确反映实际显示的图像。

你应该这样做:

number = 1;
function move() {
    number++;
    if(number > 6)
        number = 1;
    brillo.src="images/tudelude_0"+number+".jpg";
}

function Open(){
    var newWindow = window.open("", "pictureViewer", "fullscreen=no");
    newWindow.document.writeln("<img src='images/tude_0"+number+".jpg'/>");
    newWindow.document.close(); 
}

在你的onload,使用setInterval(move, 1000).

于 2013-09-01T19:23:53.673 回答