var randomNumber
// generate the random numbers based on the length of the image array
randomNumber = Math.floor(Math.random() * topImages.length);
function shuffleTop(){
document.getElementById("topImage").src = topImages[randomNumber];
};
$("p a#shuffle").click(shuffleTop());
这是我在源代码中的链接:
<p><a href="#" id="shuffle">SHUFFLE</a></p>
答案 0 :(得分:4)
您正在运行该功能,并且正在将其返回的内容分配给cliek。您没有为函数shuffleTop
分配引用。
$("p a#shuffle").click(shuffleTop());
需要
$("p a#shuffle").click(shuffleTop);
并且您只生成一次数字,将随机数生成器移到里面。
function shuffleTop(){
randomNumber = Math.floor(Math.random() * topImages.length);
document.getElementById("topImage").src = topImages[randomNumber];
};
答案 1 :(得分:1)
您需要为点击事件提供函数回调:
$("p a#shuffle").click(shuffleTop);
答案 2 :(得分:0)
如果您正在使用jQuery,也可以使用jQuery来设置图像src。
$("#topImage").attr("src",topImages[randomNumber]);
我认为topImages [randomNumber]已经包含了一个HTML图像 relative 的网址。
答案 3 :(得分:0)
首先,如果你有jQuery,为什么你使用纯js?
randomNumber = Math.floor(Math.random() * topImages.length);
function shuffleTop(){
$("#topImage").attr('src', topImages[randomNumber]);
};
$("p a#shuffle").on('click', shuffleTop); // i re-write this to call function.
必须要工作