所以我的JavaScript代码有问题。随机的东西不起作用:/你觉得这个问题是什么?
我有两个“幻灯片放映”但是如果我点击第一张图片来启动幻灯片它不能正常工作
<script type="text/javascript">
$(document).ready(function() {
function elso() {
$(".start").click(function() {
$.when($('.start2').show().delay(2000)).done(function() {
$.when($('.start3').show().delay(2000)).done(function() {
$.when($('.start4').show().delay(2000)).done(function() {
$.when($('.start5').show().delay(2000)).done(function() {
$(".start").hide();
setTimeout(function() {
$(".start").show();
$(".start2, .start3, .start4, .start5").hide();
}, 2000);
});
});
});
});
});
}
function masodik () {
$(".start").click(function() {
$.when($('.start2').show().delay(2000)).done(function() {
$.when($('.start3').show().delay(2000)).done(function() {
$.when($('.start4').show().delay(2000)).done(function() {
$.when($('.start5').show().delay(2000)).done(function() {
$(".start").hide();
setTimeout(function() {
$(".start").show();
$(".start2, .start3, .start4, .start5").hide();
}, 2000);
});
});
});
});
});
}
function randomFrom(array) {
return array[Math.floor(Math.random() * array.length)];
}
function randomchords() {
// add the 'window' prefix here
randomFrom(window['elso', 'masodik'])();
}
});
</script>
答案 0 :(得分:2)
您无法使用window
访问这些功能,因为它们不是全球性的。此外,这将是[window.elso, window.masodic]
或[window['elso'], window[masodic]]
而不是window['elso', 'masodik']
。
这些功能在范围内,因此您只需使用其名称即可访问它们。只需创建一个包含函数引用的数组,然后从中选择:
function randomchords() {
randomFrom([elso, masodik])();
}