var Rand1 = Math.floor(Math.random()*3);
var Rand2 = Rand1;
while ( Rand2 == Rand1 ){
var Rand2 = Math.floor(Math.random()*3);
}
var step1 = Rand1;
var step2 = Rand2;
function moveto(step1, step2) {
var w = $(document).width();
$('#full').animate({
left: -(step1*w)
}, {
duration: 3000,
});
}
//what element is this supposed to be?
class="img bg-img1" OnClick="moveto('1');">
我的问题是:我需要将Rand1给出的随机数分配到OnClick =“moveto('Rand1')中;我该怎么做?
答案 0 :(得分:1)
首先,我假设Rand1
在全局上下文中声明,因为它看起来像是来自你问题中的代码。如果是这种情况,为什么需要将它传递给事件处理程序?无论如何,它都可以从事件处理函数访问:
var Rand1 = Math.floor(Math.random()*3);
function moveto() {
//Rand1 is accessible here
}
其次,看来你在moveto
函数中使用了jQuery,那么为什么不使用jQuery来附加事件监听器,而不是内联:
$(".bg-img1").click(moveto);
答案 1 :(得分:1)
尝试此操作并从内联按钮/元素中移除onclick:http://jsfiddle.net/GApnw/
function randomNumbers() {
var Rand1 = Math.floor(Math.random() * 3);
var Rand2 = Rand1;
while (Rand2 == Rand1) {
var Rand2 = Math.floor(Math.random() * 3);
}
return [Rand1, Rand2];
}
function moveto(step1, step2) {
var w = $(document).width();
$('#full').animate({
left: -(step1 * w)
}, {
duration: 3000,
});
alert(step1 + " " + step2);
}
$(function(){
$(".img").click(function(){
var randomNum = randomNumbers();
moveto(randomNum[0], randomNum[1]);
});
});
如果您没有在其他地方提供数字,请拨打电话以获取您移动中的RandomNumbers。