javascript链接无法点击;页面加载时功能有效

时间:2015-04-07 16:51:43

标签: javascript function random shuffle

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>

4 个答案:

答案 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.

必须要工作