首先,需要一个定时器,可以使用JS中的setTimeout() 方法。
其次,实现DIV消失,有很多种办法,可以使用$("#div").css('display','none'),通过设置DIV的display属性为none实现隐藏,也可以使用Jquery中hide()方法实现隐藏,还可以使用remove()移除DIV来实现DIV的消失。
下面是使用css(),setTimeout() 两个方法实现2秒后自动消失的完整代码:
扩展资料:
clearTimeout()用于重置js定时器,如果你希望阻止setTimeout的运行,就可以使用clearTimeout方法。
例如,如果想手动点击按钮停止DIV消失,代码可以这样写:
<!doctype html>
<html>
<head>
<meta charset="utf-8">
<title>实现DIV2秒后就自动消失</title>
<script src="__JS__/jquery.min.js"></script>
</head>
<body>
<div id="div">
这是DIV里的内容
</div>
<a id="stop" onclick="stop()"/>点击停止消失</a>
<script>
var timer
$(function () {
timer=setTimeout(function () {
$("#div").css('display','none')
}, 2000)
})
function stop(){
clearTimeout(timer)
}
</script>
</body>
</html>
知道文本框都有blur事件吗?就是光标在闪的时候就处于焦点,当你点其他地方时,光标就没了,就会触发blur事件。你要做到当div显示时,让隐藏在div内的文本框处于焦点,点击其他地方时,文本框的焦点自然会消失,blur事件把当前div隐藏。!!注意: 当点击显示的div时要用脚本处理div中的隐藏文本框处于焦点
可以用jquery 脚本框架,方便,浏览器的兼容性好
如果确定只更改点击元素的下一个元素可以使用nextElementSibling来获取它
<dl><dt onclick="change(this)">按钮</dt>
<dd>内容</dd>
</dl>
<script>
function change(doc){
if(doc.nextElementSibling.style.display=="none"){
doc.nextElementSibling.style.display="block"
}else{
doc.nextElementSibling.style.display="none"
}
}
</script>
希望能帮到你