2014-10-27 68 views
0

我想在我的網站上爲當地的商店使用開放時間倒計時。這家商店的營業時間爲星期一至星期五09:00至18:00,星期六的營業時間爲10:00至16:30。 我想向用戶展示他們訪問該網站當天該商店的營業時間。例如,用戶在星期二16:30在網站上,我想展示「親愛的顧客,我們的店鋪再開放1.5小時」。 如果店鋪已關閉,我想展示一些內容,例如「我們目前已關閉,但歡迎您在週一9點前到店。」Javascript開放時間倒計時

我在這裏和其他地方做了大量的研究,但我找不到適合此任務的解決方案,所以我真的希望你能幫助我。

+0

你做了很多研究? [這裏](http://countdownjs.org/)。 2秒後找到。 – 2014-10-27 09:56:33

+0

你有沒有考慮聘請程序員?我們很樂意幫助您解決代碼問題,而不是爲您編寫應用程序,免費。如果您嘗試過某些內容並希望獲得幫助,請告訴我們您嘗試過的代碼以及您的代碼遇到了哪些問題。 – 2014-10-27 10:05:37

回答

1

製造陣列映射你的貨車時,0是星期天

var openTime = [ {open : -1, close : -1}, 
       { open: 9, close : 18 }, 
       { open: 9, close : 18 }, 
       { open: 9, close : 18 }, 
       { open: 9, close : 18 }, 
       { open: 9, close : 18 }, 
       { open: 10, close : 16.5 } 
       ] 

然後檢查它,當用戶來到頁。

var current = new Date(); 
var day = current.getDay(); 
var currentTime = current.getHours() + (current.getMinutes()/60); 
var remainTime = 0; 
if (openTime[day].open >= 0 && openTime[day].open < currentTime && openTime[day].close > currentTime) { 
     remainTime= (openTime[day].close - currentTime).toFixed(2) 
} 
console.log("the shop will close in %s hours", remainTime); 
+1

修復邏輯打開,關閉 – Kai 2014-10-27 10:23:43

+0

這看起來非常好。我怎麼能在一個特定的div裏面花時間?我嘗試過[這裏有一些東西](http://jsfiddle.net/hupnaybv/),但它看起來有一些錯誤。另外,當商店關閉時,如何添加另一條消息? – Supapinzi 2014-10-27 10:52:39

+0

看起來你並不知道程序員的基本原理,如果你不是程序員,那很好,但很糟糕,但是。修正:http://jsfiddle.net/hupnaybv/1/ – Kai 2014-10-27 10:54:25

0

所有你需要獲得當前日期,然後得到一週的一天的開始,你可以做這樣的:

var currentdate = new Date(); 

// this will return a number between 0 and 6 indicating the day of the week. 
// starting with 0 for Sunday. 
var dayofweek = currentdate.getDay(); 

而不是根據一週的一天,你可以計算出其餘類似時間:

//e.g Friday: 
if(dayofweek==5) 
{ 
    var closedate=new Date(); 
    closedate.setMinutes(0); 
    closedate.setHours(18); 

    // this will give you the difference between the current time and opening time. 
    var diff = closedate.getTime()-currentdate.getTime(); 
    var diff_seconds = diff/1000; 
} 
0

既然你需要跟蹤打開基於該星期的時間,你會得到一個手柄上的當前date第一像其他人指出。你可以做這樣的事情:

var d = new Date(); 
d.getDay(); //returns the day of the week. Monday is 1 and so on. 

一旦你有一週的某一天,它只是一個讓使用當前時間的事:

d.getHours(); 
d.getMinutes(); 
d.getSeconds(); 

一旦你有這種形式的時候。根據您的限制條件,您可以輕鬆計算商店剩餘的時間。希望這能讓你開始朝正確的方向發展。