如何突出显示我的文字

我有一些文字和一个按钮。 一旦用户点击一个按钮,我希望文本的背景将颜色更改为绿色并返回。 但是,如果我点击按钮,没有任何反应......

这是JS脚本:

<script>
function bright(){
    kontakt = document.getElementById('kontakt');
    kontakt.bgcolor = '#A5DF00';
}
function dark(){
    kontakt = document.getElementById('kontakt');
    kontakt.bgcolor = '#000000';
}
function highlight(){       
    setTimeout(bright() , 1000);
    setTimeout(dark() , 1000);
}
</script>

我从按钮的onclick属性中调用highlight(): onclick='highlight()'

ID为kontakt的文本始终在页面上。

任何线索?


根据你的代码,当highlight()被调用时,它会等待一秒钟,然后将背景从无论什么时候变成绿色,立即变成黑色,尽可能快。 我猜你没有看到它闪烁绿色,因为它比浏览器渲染或你的眼睛可以检测到更快。

尝试更改setTimeout(dark , 1000); setTimeout(dark , 1500);


CSS属性可以通过style属性访问:

var kontakt = document.getElementById('kontakt');
function bright(){
    kontakt.style.backgroundColor = '#A5DF00';
}
function dark(){
    kontakt.style.backgroundColor = '#000000';
}

所有的CSS属性都可以用同样的方式访问。 如果财产有一个破折号z-index只是使用骆驼案例符号。

例如: kontakt.style.zIndex

你也需要像这样更新你的setTimeout:

function highlight(){       
    setTimeout(bright , 1000);
    setTimeout(dark , 2000);
}

在你的情况下,你正在调用这些函数并传递它们返回给setTimeout的任何东西。 您还想更改第一个函数在一秒之后发生的计时器,并在接下来的一秒钟之后发生。


jsfiddle例子在这里根据这个SO回答修改。

<span id='kontakt' onClick="highlight(this);">Click me to see me change color and back</span>

function highlight(obj){
   var orig = obj.style.color;
   obj.style.color = '#f00';
   setTimeout(function(){
        obj.style.color = orig;
   }, 5000);
}
链接地址: http://www.djcxy.com/p/87671.html

上一篇: How to highlight my text

下一篇: Adding attribute to body tag with PHP