2012-11-24 2 views
0

이 코드를 사용하면 버튼을 누를 때마다 임의의 날짜가 생성되고 텍스트가 업데이트되어야합니다. 그러나 나는 버튼을 누를 때마다 아무 일도 일어나지 않는다.각 버튼을 누를 때마다 페이지가 업데이트되지 않는 이유

<!DOCTYPE html> 
<html> 
<body> 

<p>Click the button to display what day it is today.</p> 

<button onclick="myFunction()">Try it</button> 

<p id="demo"></p> 

<script> 
function myFunction() 
{ 
var x; 
var d=new Date().getDay(); 
switch (d) 
    { 
    case 0: 
      x="Today it's Sunday"; 
   break; 
    case 1: 
   x="Today it's Monday"; 
      break; 
    case 2: 
      x="Today it's Tuesday"; 
      break; 
    case 3: 
      x="Today it's Wednesday"; 
      break; 
    case 4: 
      x="Today it's Thursday"; 
      break; 
    case 5: 
      x="Today it's Friday"; 
      break; 
    case 6: 
   x="Today it's Saturday"; 
      break; 
    } 
document.getElementById("demo").innerHTML=x; 
} 
</script> 

</body> 
</html> 

답변

2

나는 당신을 위해 jsFiddle을 만들었습니다. 이것은 나를 위해 현재 날짜의 관점에서 절대적으로 작동합니다. 당신은 임의의 숫자를하고 싶었 경우이 코드를 같은 번호를 생성해야 내가이 추가되었습니다 즉, 0 (6)에

function getRandomInt (min, max) { 
    return Math.floor(Math.random() * (max - min + 1)) + min; 
} 
minmax 당신이 갖고 싶어 범위입니다

, jsFiddle 예제.

2

임의의 날짜를 생성하지 않습니다. Date 생성자가 수행하는 작업은 현재 날짜를 반환합니다. 그 이유는 누를 때마다 날짜가 변경되지 않기 때문입니다.
당신이 임의의 날짜를 원하는 경우에, 당신이 간격 사이에 임의의 날짜를 반환이 기능을 사용할 수 있습니다 변경 라인

function randomDate(start, end) { 
    return new Date(start.getTime() + Math.random() * (end.getTime() - start.getTime())) 
} 

및 사용

var d=new Date().getDay(); 

var d = randomDate(new Date(2012, 0, 1), new Date()); 

로를

참고 : random date 기능은 다음에서 가져온 것입니다. Elegant method to generate array of random dates within two dates

관련 문제