javascript - Box that displays random divs -


i trying create kind of box suppose display random divs. example fun facts animals. found code, wrote on own , works way: 1. random div loaded when page loading 2. next random divs loaded everytime user click button: "random fun facts"

in code below button "rundom fun facts" works once. how can make work continousely? mean way can click on 100 times , display 100 various divs. , here second question: when using example 100 divs (there many fun facts animals) code below long, there simpler way kind of creating loop? there tons of sliders couldn't find need. appreciated.

<div id="box">   <div id="funfact1">       <p>       squirrels plant thousands of new trees each year           forgetting put acorns. </p>     </div><!-- end funfact1 -->      <div id="funfact2">       <p>macaques in japan use coins buy vending machine snacks.       </p>     </div><!-- end funfact2 -->      <div id="funfact3">       <p>japanese macaques make snowballs fun. </p>     </div><!-- end funfact3 -->      <div id="funfact4">       <p>dogs’ nose prints unique human fingerprints ,       can used identify them. </p>     </div><!--end funfact4 -->     <div id="buttondiv">       <button id="buttonshuffle">random fun fact</button>      </div><!-- end buttondiv --> </div><!-- end div box --> <script type="text/javascript"> randomnumber = math.floor(math.random()*4+1);  window.onload = function() {     if (randomnumber == 1) {         document.getelementbyid("funfact1").style.display = "inline";         document.getelementbyid("funfact2").style.display = "none";         document.getelementbyid("funfact3").style.display = "none";         document.getelementbyid("funfact4").style.display = "none";     }     if (randomnumber == 2) {         document.getelementbyid("funfact1").style.display = "none";         document.getelementbyid("funfact2").style.display = "inline";         document.getelementbyid("funfact3").style.display = "none";         document.getelementbyid("funfact4").style.display = "none";     }     if (randomnumber == 3) {         document.getelementbyid("funfact1").style.display = "none";         document.getelementbyid("funfact2").style.display = "none";         document.getelementbyid("funfact3").style.display = "inline";         document.getelementbyid("funfact4").style.display = "none";     }     if (randomnumber == 4) {         document.getelementbyid("funfact1").style.display = "none";         document.getelementbyid("funfact2").style.display = "none";         document.getelementbyid("funfact3").style.display = "none";         document.getelementbyid("funfact4").style.display = "inline";     } }  randomnumber1 = math.floor(math.random()*4+1);     document.getelementbyid("buttonshuffle").onclick=function() {     if (randomnumber1 == 1) {         document.getelementbyid("funfact1").style.display = "inline";         document.getelementbyid("funfact2").style.display = "none";         document.getelementbyid("funfact3").style.display = "none";         document.getelementbyid("funfact4").style.display = "none";     }     if (randomnumber1 == 2) {         document.getelementbyid("funfact1").style.display = "none";         document.getelementbyid("funfact2").style.display = "inline";         document.getelementbyid("funfact3").style.display = "none";         document.getelementbyid("funfact4").style.display = "none";     }     if (randomnumber1 == 3) {         document.getelementbyid("funfact1").style.display = "none";         document.getelementbyid("funfact2").style.display = "none";         document.getelementbyid("funfact3").style.display = "inline";         document.getelementbyid("funfact4").style.display = "none";     }     if (randomnumber1 == 4) {         document.getelementbyid("funfact1").style.display = "none";         document.getelementbyid("funfact2").style.display = "none";         document.getelementbyid("funfact3").style.display = "none";         document.getelementbyid("funfact4").style.display = "inline";     } }  </script> 

fiddle

if want keep div , write less repetitive code, can try this. in general, when write code, try identify repetitions , export in functions.

window.onload = function() {    // show random fact on load   randomfact()    // show random fact on button click   document.getelementbyid("buttonshuffle").addeventlistener('click', randomfact) }  function randomfact () {   // generate random   var random =  math.floor(math.random() * 4)    // facts   var funfacts = document.getelementsbyclassname('funfact')    // hide facts   (var = 0; < funfacts.length; i++) {     funfacts[i].style.display = 'none'   }    // show 1   funfacts[random].style.display = 'inline' } 

https://jsfiddle.net/kxv7y6x9/


Comments

Popular posts from this blog

amazon web services - S3 Pre-signed POST validate file type? -

c# - Check Keyboard Input Winforms -