【发布时间】:2014-05-08 08:12:35
【问题描述】:
在jQuery中如何防止随机数使图像连续显示两次?
fadeOut 和fadeIn 共有三个数组。
jQuery代码和html代码如下:
<script type="text/javascript">
jQuery(
function(){
var cardTitle = new Array();
cardTitle[0] = "You've picked Judgment...";
cardTitle[1] = "You've picked the Magician...";
cardTitle[2] = "You've picked Strength...";
cardTitle[3] = "You've picked the High Priestess...";
cardTitle[4] = "You've picked the World...";
var cardDesc = new Array();
cardDesc[0] = "Judgment tells...";
cardDesc[1] = "The Magician generally...";
cardDesc[2] = "Strength is the rawest...";
cardDesc[3] = "Your identification...";
cardDesc[4] = "The World is...";
var drawCard = new Array();
drawCard[0] = "judgement.jpg";
drawCard[1] = "magician.jpg";
drawCard[2] = "strength.jpg";
drawCard[3] = "theHighPriestess.jpg";
drawCard[4] = "theWorld.jpg";
$("#myBtn").click(
function(){
var drawNum = Math.floor(Math.random() * cardTitle.length);
$("h3").fadeOut(
function(){
$("#newTitle").html(cardTitle[drawNum]).fadeIn();
});
$("p").fadeOut(
function(){
$("#newDesc").html(cardDesc[drawNum]).fadeIn();
});
$("img").fadeOut(
function(){
$("#showImage").attr('src', 'images/' + drawCard[drawNum]).fadeIn();
});
} //end click function
); //end click
}); //end jQuery container
</script>
<body>
<img src="images/drawCard.jpg" id="showImage">
<input type = "button" id="myBtn" value="Click Here to Pick a Card" />
<h3 id="newTitle">Welcome to Madam Athena's Tarot Card Reading</h3>
<p id="newDesc">Free your mind...</p>
</body>
【问题讨论】:
-
It must be done in jQuery and not JavaScript.jQuery 是 JavaScript。如果你是在 jQuery 中做的,那么你就是在 JavaScript 中做的。 -
如果你想以随机顺序显示每一个事物的列表,你想使用 shuffle 算法。 Fisher-Yates shuffle 算法就是一个很好的例子。
标签: jquery math random numbers