2014-10-16 2 views
0

Привет, я генерирую список ресторанов в моем городе (потому что мы с мужем не можем принять решение об одном), и похоже, что генератор выбирает только 0-7 (всего 39) ,Мой генератор не работает

Я пока не вижу никаких проблем, поэтому мне нужна дополнительная пара глаз. Что в мире я делаю неправильно? Пожалуйста помоги!

<html> 
 
<head> 
 
    
 
<title>Restaurant Generator</title> 
 
<h1 style="font-family:helvetica;">Restaurant Generator</h1> 
 
<script language type="text/javascript"> 
 
<!-- 
 

 
function getMessage() 
 
{ 
 
var ar = new Array(40) 
 
ar[0] = "Painted Horse" 
 
ar[1] = "Indian Coffe Co" 
 
ar[2] = "Taco Bell" 
 
ar[3] = "Chinese by Food Pyramid" 
 
ar[4] = "Cinese Buffet" 
 
ar[5] = "Luigis" 
 
ar[6] = "Dink's" 
 
ar[7] = "La Fiesta" 
 
ar[8] = "Taco Mayo" 
 
ar[9] = "Papa Murphey's" 
 
ar[10] = "Hideway" 
 
ar[11] = "McAllister's" 
 
ar[12] = "McDonalds" 
 
ar[13] = "Jimmy Johns" 
 
ar[14] = "Rolling Pin" 
 
ar[15] = "Lot A Burger" 
 
ar[16] = "Philips caf" 
 
ar[17] = "OKWU caf" 
 
ar[18] = "Chilli's" 
 
ar[19] = "Bouldevard Dinner" 
 
ar[20] = "Frank and Lola's" 
 
ar[21] = "Garfields's" 
 
ar[22] = "Subway" 
 
ar[23] = "Sonic" 
 
ar[24] = "Golden Corral" 
 
ar[25] = "Buffalo Wild Wings" 
 
ar[26] = "Sushi One" 
 
ar[27] = "Eskimo Joe's" 
 
ar[28] = "Eggbert's" 
 
ar[29] = "Midway Caffee" 
 
ar[30] = "Copper Bar" 
 
ar[31] = "Billy Sims" 
 
ar[32] = "Arby's" 
 
ar[33] = "KFC" 
 
ar[34] = "Hunan's" 
 
ar[35] = "Braum's" 
 
ar[36] = "A&W" 
 
ar[37] = "Burger King" 
 
ar[38] = "Guess again" 
 
ar[39] = "Wallmart hot food" 
 
// add as many more that you can stand but make 
 
// sure you update the value '7' in the alert box 
 
var now = new Date() 
 
var sec = now.getSeconds() 
 
alert("Today you are eating at:\n\n" + ar[sec % 7]) 
 
} 
 

 
//--> 
 
    </script> 
 

 
</head> 
 
<!-- <body onLoad="getMessage()"> this will automatically generate when you load the page--> 
 
<body> 
 
<form> 
 
<input type="button" style="height:100px; width: 600px; font-size:50px" name="again" value="Click Me" onClick="getMessage()"> 
 
</form> 
 

 
</body> 
 
</html>

ответ

3

Изменение ar[sec % 7] в ar[sec % ar.length]. («убедитесь, что вы обновили значение« 7 »в поле предупреждения« должно было быть мертвым поддавки »- 40 будет работать вместо 7, но ar.length делает обновление не необходимым, так как оно будет работать для любого количества ресторанов.)

BTW, а не ошибка, но очень unJavaScripty: способ создания массива. Он должен работать так, как есть, но очень легко сделать ошибку. Я предлагаю изменение

var ar = new Array(40) 
ar[0] = "Painted Horse" 
ar[1] = "Indian Coffee Co" 
//... 

в

var ar = [ 
    "Painted Horse", 
    "Indian Coffee Co", 
    //... 
]; 
+0

+1 - также хорошая практика, чтобы закончить все заявления с ';' - 'уаг теперь = новый Date();' – Dom

Смежные вопросы