2014-10-30 93 views
0

到目前爲止,我一直在尋找無處不在的東西。在一天中的某個時間淡入淡出元素

我想在設定的時間淡入/淡出div。不在頁面加載延遲的設定時間。例如。例如,當本地計算機/服務器的時間到達17:00(取決於如何完成)並在09:00返回時,我想要一個div淡入黑色。我不知道JS/JQuery是否可以自己做,或者PHP需要參與。

到目前爲止,我已經爲div淡入淡出了,但它使用了6秒的延遲,而不是在某天的特定時間觸發。

$(document).ready(function() { 
setTimeout(function() { 
    $("div.fade-me").fadeOut("slow", function() { 
     $("div.fade-me").remove(); 
    }); 
}, 6000); // 6 seconds 
}); 
+0

可能重複[我怎樣才能獲得本地時間jQuery?](http://stackoverflow.com/questions/660927/how-can-i-obtain-the-local-time-in-jquery) – BFWebAdmin 2014-10-30 08:41:42

+0

setTimeout僅用於設置延遲。你有沒有看過[JavaScript日期對象](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Date)或[jQuery.now()](http:/ /api.jquery.com/jquery.now/)? – 2014-10-30 08:41:49

+0

@BFDatabaseAdmin不,因爲答案沒有顯示如何觸發它,當時間到了。 – 2014-10-30 09:28:54

回答

0

這裏是一個關於如何使用Date對象的例子。

樣本HTML:

<div> 
    <div id="timeSensitive">I appear at 10:00 until 13:00 (inclusive).</div> 
    <div id="otherTime">I appear before 10:00 and after 13:00 (exclusive)</div> 
</div> 

而這裏的JavaScript來啓用它顯示/隱藏根據一天的時間一個div:

//i am only comparing hours here, you can be more granular and use minutes and seconds too. 

function CheckTime() 
{ 
    var date = new Date(); 
    var specialTime = date.getHours() >= 10 && date.getHours() <= 13; 
    $("#timeSensitive").toggle(specialTime); 
    $("#otherTime").toggle(!specialTime); 

} 

$(function(){ 
    CheckTime(); 
    var interval = setInterval(CheckTime, 1000); //check every second 
}); 
+0

檢查此JSFiddle http://jsfiddle.net/ubrfvzfe – Mzn 2014-10-30 08:47:23

0

你需要得到一天的小時

var d = new Date(); 
var hr = d.getHours(); 

這將返回從0小時到23

希望這能在正確的方向

點你