2014-09-26 140 views
-1

我正在製作一個頁面,顯示一個隨機鏈接。在JavaScript代碼中,它包含一系列鏈接,如果用戶沒有啓用Java,它會自動設置到YouTube的鏈接。這只是我分配的練習,只是讓你知道。目前,沒有鏈接顯示。隨機麻煩顯示隨機鏈接

HTML:

<html> 
<head> 
<title>Working with Randoms</title> 
</head> 
<body> 
<script type="text/javascript" src="random.js"></script> 
<h1>Random Link</h1> 
<div id="random_link"></div> 
</body> 
</html> 

的JavaScript:

var jsEnabled = navigator.javaEnabled(); 
var rand_link = document.getElementById("random_link"); 

if(jsEnabled=false;){ 
rand_link.innerHTML = "<a href="www.youtube.com">Default Link</a>";} 

var link = new Array(5); 
link[0]="http://www.pageresource.com"; 
link[1]="http://www.javascriptcity.com;" 
link[2]="http://www.mydemos.com"; 
link[3]="http://www.yahoo.com"; 
link[4]="http://www.google.com"; 

var rand_int = Math.floor(Math.random()*5); 

rand_link.innerHTML = "<a href="+link[rand_int]+">Random Link!</a>" 
+0

是什麼顯示? – 2014-09-26 11:24:00

+0

請查看瀏覽器的控制檯。 – P5Coder 2014-09-26 11:26:50

+1

我想上次我看到'navigator.javaEnabled'是1999. – MaxArt 2014-09-26 11:30:59

回答

0

錯字。

替換:

link[1]="http://www.javascriptcity.com;" 

有了:

link[1]="http://www.javascriptcity.com"; 
//         ^

而更換:

if(jsEnabled=false;){ 

有了:

if(jsEnabled == false){ 
//   ^`==` means "equals", A single `=` is an assignment. 
// Also, no `;` in `if` statements. 

最後:

rand_link.innerHTML = "<a href="www.youtube.com">Default Link</a>";} 

有了:

rand_link.innerHTML = "<a href=\"www.youtube.com\">Default Link</a>";} 
//       ^Escape quotes in a string 
0

這裏的另一個解決方案

var jsEnabled = navigator.javaEnabled(); 
var rand_link = document.getElementById("random_link"); 

// You had a Typo in the if sytaxt 
if(jsEnabled==false){ 
    rand_link.innerHTML = '<a href="www.youtube.com">Default Link</a>'; 
} 

var link = new Array(); 
link[0]="http://www.pageresource.com"; 
link[1]="http://www.javascriptcity.com;" 
link[2]="http://www.mydemos.com"; 
link[3]="http://www.yahoo.com"; 
link[4]="http://www.google.com"; 

// The math.random returns a value form 0 to 1. The returned value is a float, 
// and you need a int to access an element in an array. You need to add modulo 
// 5 to the solution. Wich gives you a value between 0 to 4 
var rand_int = Math.floor(Math.random()*100)%5; 

rand_link.innerHTML = "<a href="+link[rand_int]+">Random Link!</a>" 

的jsfiddle:http://jsfiddle.net/gvLLuv8y/