Javascript 如何为特定时间的元素设置背景色?

Javascript 如何为特定时间的元素设置背景色?,javascript,jquery,html,css,Javascript,Jquery,Html,Css,这是我的密码: $'html,body'。动画{scrollTop:-20+$'.clsname'.offset.top}; 滚动到这里 您可以使用一些JS来根据任何时间进行更改,包括早上、白天和晚上 $(document).ready(function(){ var d = new Date(); var n = d.getHours(); if (n > 19 || n < 6) // If time is after 7PM or befo

这是我的密码:

$'html,body'。动画{scrollTop:-20+$'.clsname'.offset.top}; 滚动到这里
您可以使用一些JS来根据任何时间进行更改,包括早上、白天和晚上

$(document).ready(function(){
    var d = new Date();
    var n = d.getHours();
    if (n > 19 || n < 6)
      // If time is after 7PM or before 6AM, apply night theme to ‘body’
      document.body.className = "night";
    else if (n > 16 && n < 19)
      // If time is between 4PM – 7PM sunset theme to ‘body’
      document.body.className = "sunset";
    else
      // Else use ‘day’ theme
      document.body.className = "day";
});

您可以使用一些JS来根据任何时间进行更改,包括早上、白天和晚上

$(document).ready(function(){
    var d = new Date();
    var n = d.getHours();
    if (n > 19 || n < 6)
      // If time is after 7PM or before 6AM, apply night theme to ‘body’
      document.body.className = "night";
    else if (n > 16 && n < 19)
      // If time is between 4PM – 7PM sunset theme to ‘body’
      document.body.className = "sunset";
    else
      // Else use ‘day’ theme
      document.body.className = "day";
});
您可以简单地使用css动画切换背景颜色

$'html,body'。设置动画{ scrollTop:-20+$'.clsname'.offset.top }; 克莱斯纳姆先生{ 背景:无; } 克莱斯纳姆先生{ -webkit动画名称:示例; /*Safari 4.0-8.0*/ -webkit动画持续时间:2秒; /*Safari 4.0-8.0*/ 动画名称:示例; 动画持续时间:2秒; } /*Safari 4.0-8.0*/ @-webkit关键帧示例{ 从{ 背景:橙色; } 到{ 背景:无; } } 滚动到这里 您可以简单地使用css动画切换背景颜色

$'html,body'。设置动画{ scrollTop:-20+$'.clsname'.offset.top }; 克莱斯纳姆先生{ 背景:无; } 克莱斯纳姆先生{ -webkit动画名称:示例; /*Safari 4.0-8.0*/ -webkit动画持续时间:2秒; /*Safari 4.0-8.0*/ 动画名称:示例; 动画持续时间:2秒; } /*Safari 4.0-8.0*/ @-webkit关键帧示例{ 从{ 背景:橙色; } 到{ 背景:无; } } 滚动到这里 这将在正文滚动到下面后更改背景色

$'html,body'.animate{scrollTop:-20+$'.clsname'.offset.top},2000; setTimeoutfunction{ $'.clsname'.css{backgroundColor:'orange'}; }, 2000; setTimeoutfunction{ $'.clsname'.css{backgroundColor:'transparent'}; }, 3000; 克莱斯纳姆先生{ 过渡:一切都很轻松; } 滚动到这里 这将在正文滚动到下面后更改背景色

$'html,body'.animate{scrollTop:-20+$'.clsname'.offset.top},2000; setTimeoutfunction{ $'.clsname'.css{backgroundColor:'orange'}; }, 2000; setTimeoutfunction{ $'.clsname'.css{backgroundColor:'transparent'}; }, 3000; 克莱斯纳姆先生{ 过渡:一切都很轻松; } 滚动到这里
使用promise,将动画完成后要运行的函数传递给它。您也可以使用success,但promise更好,因为它避免了由于浏览器兼容性而添加的双重回调问题

$('html,body').animate({scrollTop: -20 + $('.clsname').offset().top  }).promise().done(function(){
    var $el = $(".clsname"),
    x = 2000,
    originalColor = $el.css("background");
    $el.css("background", "orange");

    setTimeout(function(){
        $el.css("background", originalColor);
    }, x);
});

使用promise,将动画完成后要运行的函数传递给它。您也可以使用success,但promise更好,因为它避免了由于浏览器兼容性而添加的双重回调问题

$('html,body').animate({scrollTop: -20 + $('.clsname').offset().top  }).promise().done(function(){
    var $el = $(".clsname"),
    x = 2000,
    originalColor = $el.css("background");
    $el.css("background", "orange");

    setTimeout(function(){
        $el.css("background", originalColor);
    }, x);
});

欢迎添加淡入淡出淡出淡出淡出淡出淡出淡出淡出淡出淡出淡出淡出淡出淡出淡出淡出淡出淡出淡出淡出淡出淡出淡出淡出淡出淡出淡出淡出淡出淡出淡出淡出淡出淡出淡出淡出淡出淡出淡出淡出淡出淡出淡出淡出淡出淡出淡出淡出淡出淡。。。最后,背景色将为橙色。。不应该,橙色应该在2秒后消失。就像StackOverflow更新的答案一样,检查一下。只是有一个小问题。。。最后,背景色将为橙色。。不应该,橙色应该在2秒后消失。与StackOverflowUpdate答案完全相同,请检查一次。橙色应在2秒后永远隐藏。无论如何,谢谢你。。橙色应该在2秒后永远隐藏。无论如何,谢谢你。。向上投票