2017-08-24 82 views
0

夥計們。我目前正在製作一個網站,但我想讓網站自動重定向到星期幾,而不需要按鏈接。例如:如果它的星期一該網站將重定向到monday.html。Javascript重定向到網站日期

我的代碼:

<!DOCTYPE -be sure to use one of these! 
 
<html> 
 
<head> 
 
<title></title> 
 
<script type="text/javascript"> 
 
window.onload = function(){chgDailyImg();} 
 
function chgDailyImg() 
 
{ 
 
var imagearray = new Array(); 
 
imagearray[0] = "sundaypic.png"; 
 
imagearray[1] = "mondaypic.png"; 
 
imagearray[2] = "tuesdaypic.png"; 
 
imagearray[3] = "wednesdaypic.png"; 
 
imagearray[4] = "assets/images/thursdaypic.png"; 
 
imagearray[5] = "fridaypic.png"; 
 
imagearray[6] = "saturdaypic.png"; 
 

 
var linkarray = new Array(); 
 
linkarray[0] = "sondag.html"; 
 
linkarray[1] = "mandag.html"; 
 
linkarray[2] = "tirsdag.html"; 
 
linkarray[3] = "onsdag.html"; 
 
linkarray[4] = "torsdag.html"; 
 
linkarray[5] = "fredag.html"; 
 
linkarray[6] = "lordag.html"; 
 

 
var textarray = new Array(); 
 
textarray[0] = "This is sunday's text - click to go to sunday's page"; 
 
textarray[1] = "This is monday's text - click to go to monday's page"; 
 
textarray[2] = "This is tuesday's text - click to go to tuesday's page"; 
 
textarray[3] = "This is wednesday's text - click to go to wednesday's page"; 
 
textarray[4] = "Torsdag"; 
 
textarray[5] = "This is friday's text - click to go to friday's page"; 
 
textarray[6] = "This is saturday's text - click to go to saturday's page"; 
 

 
var d = new Date(); /*** create a date object for use ***/ 
 
var i = d.getDay(); /*** use the date object to get the day of the week - this will be a number from 0 to 6 - sunday=0, saturday=6 -it's the way counting works in javascript it starts at 0 like in the arrays ***/ 
 
document.getElementById("dailyImg").src = imagearray[i]; 
 
document.getElementById("dailyLink").href = linkarray[i]; 
 
document.getElementById("dailyLink").innerHTML = textarray[i]; 
 
} 
 
</script> 
 
</head> 
 
<body> 
 
<div> 
 
<a href="sundaypage.html" id="dailyLink">This is sunday's text - click to go to sunday's page</a> 
 
<img src="sundaypic.jpg" alt="daily pic" title="daily pic" width="300" height="100" id="dailyImg" /> 
 
</div> 
 
</body> 
 
</html>

+0

你試過了什麼?什麼沒有用? – Daniel

+0

似乎對我來說正常工作;它顯示星期五的鏈接,並且它是我居住的星期五。只有自動化似乎不見了。 –

+0

該網站工作正常,但我希望它自動重定向到當天的網站 –

回答

1

所有你需要做的是設置window.location.hreflinkarray[i],而不是將其寫入到頁面:

<!DOCTYPE html> 
 
<html> 
 

 
<head> 
 
    <title></title> 
 
    <script type="text/javascript"> 
 
    window.onload = function() { 
 
     chgDailyImg(); 
 
    } 
 

 
    function chgDailyImg() { 
 
     var imagearray = new Array(); 
 
     imagearray[0] = "sundaypic.png"; 
 
     imagearray[1] = "mondaypic.png"; 
 
     imagearray[2] = "tuesdaypic.png"; 
 
     imagearray[3] = "wednesdaypic.png"; 
 
     imagearray[4] = "assets/images/thursdaypic.png"; 
 
     imagearray[5] = "fridaypic.png"; 
 
     imagearray[6] = "saturdaypic.png"; 
 

 
     var linkarray = new Array(); 
 
     linkarray[0] = "sondag.html"; 
 
     linkarray[1] = "mandag.html"; 
 
     linkarray[2] = "tirsdag.html"; 
 
     linkarray[3] = "onsdag.html"; 
 
     linkarray[4] = "torsdag.html"; 
 
     linkarray[5] = "fredag.html"; 
 
     linkarray[6] = "lordag.html"; 
 

 
     var textarray = new Array(); 
 
     textarray[0] = "This is sunday's text - click to go to sunday's page"; 
 
     textarray[1] = "This is monday's text - click to go to monday's page"; 
 
     textarray[2] = "This is tuesday's text - click to go to tuesday's page"; 
 
     textarray[3] = "This is wednesday's text - click to go to wednesday's page"; 
 
     textarray[4] = "Torsdag"; 
 
     textarray[5] = "This is friday's text - click to go to friday's page"; 
 
     textarray[6] = "This is saturday's text - click to go to saturday's page"; 
 

 
     var d = new Date(); /*** create a date object for use ***/ 
 
     var i = d.getDay(); /*** use the date object to get the day of the week - this will be a number from 0 to 6 - sunday=0, saturday=6 -it's the way counting works in javascript it starts at 0 like in the arrays ***/ 
 

 
     // Automatically redirect to the day's page 
 
     window.location.href = linkarray[i]; 
 
    } 
 
    </script> 
 
</head> 
 

 
</html>

希望這有助於! :)

+0

是的!這工作!但是有沒有一種方法可以更多地清理代碼?刪除imagearray –

+0

現在我有一個新問題哈哈。我想製作一個tomorrow.html,所以它會發送到第二天的任何想法? –

0
switch ((new Date()).getDay()) { 
    case 0: 
     window.location.replace(window.location.origin + "/sunday.html"); 
     break; 
    case 1: 
     // mon, thu, wens etc... 
     break; 
} 

我認爲這應該是在指定日期的解決方案

0

function redirectday() { 
 
    switch (new Date().getDay()) { 
 
    case 0: 
 
     window.location = "sunday.html"; 
 
     break; 
 
    case 1: 
 
     window.location = "monday.html"; 
 
     break; 
 
    case 2: 
 
     window.location = "tuesday.html"; 
 
     break; 
 
    case 3: 
 
     window.location = "wednesday.html"; 
 
     break; 
 
    case 4: 
 
     window.location = "thursday.html"; 
 
     break; 
 
    case 5: 
 
     window.location = "friday.html"; 
 
     break; 
 
    case 6: 
 
     window.location = "saturday.html"; 
 
} 
 
}
<body onload="redirectday();"> 
 
</body>

的getDay()方法返回星期(從0到6) 。

注:星期日爲0,星期一爲1,依此類推。 https://www.w3schools.com/jsref/jsref_getday.asp

0

我最好的辦法是做到一切動態。

var days = ['sunday', 'monday', 'tuesday', 'wednesday', 'thursday', 'friday', 'saturday']; 
var d = new Date(); 
var n = d.getDay() 

var todaysDate = days.filter(function(day,index){ 
    return index === n; 
}); 
window.location.href = todaysDate.toString()+'pic'+'.png';