JavaScript - 改变CSS颜色5秒

时间:2011-04-08 20:18:32

标签: javascript css

我试图简单地突出显示指定链接上的文字 - 但只有几秒钟。

<a href="#faq1"onClick="document.getElementById('faq1').style.color='#f00'">

因此,在常见问题解答列表中 - 它跳转到正确的ID,将颜色更改为红色几秒钟,作为最终用户的视觉提示(答案在这里)。但随后恢复正常颜色并且间隔完成。

如何使上述功能仅在一段时间内起作用?

6 个答案:

答案 0 :(得分:9)

试试这个:

function highlight(obj){
   var orig = obj.style.color;
   obj.style.color = '#f00';
   setTimeout(function(){
        obj.style.color = orig;
   }, 5000);
}

并在html中:

<a href="#faq1" onClick="highlight(document.getElementById('faq1'));">

此函数适用于传递给它的任何对象: - )

这是一个工作小提琴:http://jsfiddle.net/maniator/dG2ks/

答案 1 :(得分:3)

您可以使用window.setTimeout()

<a href="#faq1" onClick="highlight()">

<script type="text/javascript">
    function highlight() {
        var el = document.getElementById('faq1');
        var original = el.style.color;
        el.style.color='#f00';
        window.setTimeout(function() { el.style.color = original; }, 5000);
    }
</script>

答案 2 :(得分:0)

编写一个函数来将其更改回来(通过将相同的属性设置为空字符串)。使用setTimeout

运行它

答案 3 :(得分:0)

试试这个:

<a id="faqLink" href="#faq1">FAQ Link</a>
<script type="text/javascript">
 document.getElementById('faqLink').onclick = function(e){
    e = e || window.event;
    var srcEl = e.target || e.srcElement;
    var src = document.getElementById("faq1");
    var prevColor = src.style.color;
    src.style.color = '#f00';
    setTimeout(function(){
        src.style.color = prevColor;
    }, 5000); //5 seconds
 }
</script>

答案 4 :(得分:0)

一些JS:

<script type='text/javascript'>
     function changeColor(element, color){
        document.getElementById(element).style.color = color
        setTimeout(function(){ changeColor(element, '#000') }, 5000)
     }
</script>

一些HTML:

<a href="#faq1" onClick="changeColor('faq1', '#f00')">

答案 5 :(得分:-1)

$('#faq1').css('color', '#f00');
setTimeout(function() {$('#faq1').css('color', '#000'); }, 5000);