在一天的特定时间淡入淡出元素

时间:2014-10-30 08:36:14

标签: javascript jquery css time fade

到目前为止,我一直在寻找没有运气的地方。

我想在固定时间淡入/淡出div。不是在页面加载延迟的设定时间。例如。我希望div在本地机器/服务器的时间到达17:00时淡出为黑色(取决于它是如何完成的)并且例如在09:00返回。我不知道JS / JQuery是否可以单独执行此操作,或者是否需要参与PHP。

到目前为止,我已经将这个用于div淡入淡出,但它使用了6秒的延迟,而不是在一天的特定时间触发。

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

2 个答案:

答案 0 :(得分:0)

你需要获得当天的时间

例如

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

这会将小时从0恢复为23

希望这可以指出你正确的方向

答案 1 :(得分: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
});