2017-08-24 7 views
0

人。私は現在ウェブサイトを作っていますが、リンクを押す必要がなく、自動的に曜日にリダイレクトするようにしたいと考えています。例:mondayのサイトが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';