我正在使用一个简单的JavaScript代码来切换div onclick。你可以在这个链接上看到它:k-prim.biz/Untitled-2.html - 这是一个非常简单的演示页面。我想做的是不仅在点击"链接"时隐藏div。但也可以在div外面点击。另外我如何更改"链接"的css样式?什么时候显示div?提前谢谢!
<script type="text/javascript" language="javascript">
function showHide() {
var ele = document.getElementById("showHideDiv");
if(ele.style.display == "block") {
ele.style.display = "none";
}
else {
ele.style.display = "block"; }
}
</script>
<a href="#" onClick="return showHide();" >link</a>
<div id="showHideDiv" style="display:none;">hello!</div>
答案 0 :(得分:5)
您没有给我任何代码可供使用,因此您必须根据自己的需要进行修改:
$(document).click(function() {
if(this != $("#the_div")[0]) {
$("#the_div").hide();
}
});
如果用户点击页面上不是div的任何地方,那将隐藏div。
答案 1 :(得分:2)
HTML:
<div id="settings">
<input/><select></select><span>text</span>
</div>
使用Javascript:
var settings = document.getElementById('settings');
document.onclick = function(e){
var target = (e && e.target) || (event && event.srcElement);
var display = 'none';
while (target.parentNode) {
if (target == settings) {
display ='block';
break;
}
target = target.parentNode;
}
settings.style.display = display;
}
答案 2 :(得分:1)
这是我写的快速黑客。我不确定您为什么要通过单击文档上的任何位置来执行相同的活动。如果你想这样做,用jQuery(document)替换jQuery('#link')。
<html>
<head>
<script type="text/javascript">
$(document).ready(function(){
jQuery('#link').click(function(){
if(jQuery('#showHideDiv').hasClass('hide')) {
jQuery('#showHideDiv').removeClass('hide');
jQuery('#link').css('color', 'red');
} else {
jQuery('#showHideDiv').addClass('hide');
jQuery('#link').css('color', 'blue');
}
});
});
</script>
</head>
<body>
<a href="#" id="link" >link</a>
<div id="showHideDiv" class="hide">hello!</div>
</body>
</html>
这是jsfiddle的链接
并添加css规则
.hide {
display:none;
}