var sponsor = 1;
function goBanner() {
if (sponsor == 1) {
window.location.href = "http://www.pavucina.sk";
}
if (sponsor == 2) {
window.location.href = "http://forum.sk";
}
if (sponsor == 3) {
window.location.href = "http://superzoznam.sk";
}
}
function rotate() {
if (++sponsor > 3) sponsor = 1;
document.images[0].src = "" + sponsor + ".jpg"
window.setTimeout('rotate();', 5000);
}
<a href="javascript:goBanner();"><img class="slikaF" name="banner" src="1.png" border=0></a>
我需要专门使用此代码,但我不理解为什么横幅不起作用。标语中的链接有效,但图像“动画”无效。请帮助
答案 0 :(得分:1)
您永远不会调用rotate
函数。与其在函数内部使用setTimeout
来保持自身重新调用(无需先调用它来启动该过程),而是从函数外部调用一次setInterval
。像这样:
function rotate() {
if (++sponsor > 3) sponsor = 1;
document.images[0].src = "" + sponsor + ".jpg"
}
window.setInterval(rotate, 5000);
这将每隔5秒重复调用rotate
函数。
例如:
var sponsor = 1;
function goBanner() {
if (sponsor == 1) {
window.location.href = "http://www.pavucina.sk";
}
if (sponsor == 2) {
window.location.href = "http://forum.sk";
}
if (sponsor == 3) {
window.location.href = "http://superzoznam.sk";
}
}
function rotate() {
if (++sponsor > 3) sponsor = 1;
document.images[0].src = "" + sponsor + ".jpg"
}
window.setInterval(rotate, 5000);
<a href="javascript:goBanner();"><img class="slikaF" name="banner" src="1.png" border=0></a>
答案 1 :(得分:0)
您没有调用rotate
函数。
您必须从函数中删除timeOut并将其分开保存。
function rotate() {
if (++sponsor > 3) sponsor = 1;
document.images[0].src = "" + sponsor + ".jpg"
}
window.setInterval(rotate, 5000);
现在,rotate
函数仅计算sponsor
变量并更改图像的src
。我们正在通过setInterval
调用该函数:它将初始化并每5秒执行下一次调用。
检查下面的小提琴:
var sponsor = 1;
function goBanner() {
if (sponsor == 1) {
window.location.href = "http://www.pavucina.sk";
}
if (sponsor == 2) {
window.location.href = "http://forum.sk";
}
if (sponsor == 3) {
window.location.href = "http://superzoznam.sk";
}
}
function rotate() {
if (++sponsor > 3) sponsor = 1;
document.images[0].src = sponsor + ".jpg";
document.images[0].title = "Image " + sponsor;
}
window.setInterval(rotate, 3000);
<html>
<head>
<title>Banner</title>
</head>
<body>
<a href="javascript:goBanner();"><img class="slikaF" name="banner" src="1.jpg" title="Image 1" border="0"></a>
</body>
</html>
Ps:为图像添加了title
属性,因为我们没有在此处显示原始文件,因此可能很难看到过渡。
希望对您有帮助。