如何突出显示我的文字
我有一些文字和一个按钮。 一旦用户点击一个按钮,我希望文本的背景将颜色更改为绿色并返回。 但是,如果我点击按钮,没有任何反应......
这是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