javascript方法
function d(name){
var str = document.getElementById(name)
if(str.style.display =="none"){
str.style.display = "block";
}else{
str.style.display = "none";
}
}
样式表
div{
display:none;
}
主体
<a herf = "#" id = "1" onclick = "d('dd')">点击</a>
<div id = "dd"></div>
我的原意是想在点击“点击”的时候让层显示或者隐藏,可是在生成网页的时候 首次加载网页的时候必须要点2次“点击”才能显示,我知道这是样式表冲突了 只要把样式表改写成行内样式表就可以了 可是如果这样的层只有一两个的话还好,如果多的话代码的冗余就太多了 有没有办法在不加大代码的冗余量的同时把这个问题解决掉 请求帮助
function d(name){
var str = document.getElementById(name)
if(str.style.display =="none"){
str.style.display = "block";
}else{
str.style.display = "none";
}
}
样式表
div{
display:none;
}
主体
<a herf = "#" id = "1" onclick = "d('dd')">点击</a>
<div id = "dd"></div>
我的原意是想在点击“点击”的时候让层显示或者隐藏,可是在生成网页的时候 首次加载网页的时候必须要点2次“点击”才能显示,我知道这是样式表冲突了 只要把样式表改写成行内样式表就可以了 可是如果这样的层只有一两个的话还好,如果多的话代码的冗余就太多了 有没有办法在不加大代码的冗余量的同时把这个问题解决掉 请求帮助
function d(id) {
var element = document.getElementById(id);
if (!element) return;
var style = element.currentStyle || document.defaultView.getComputedStyle(element, null); if(style.display == "none") {
element.style.display = "block";
} else {
element.style.display = "none";
}
}http://jsfiddle.net/yd3Xj/
所以点击第一次的时候 就隐藏了,
此时str.style.display == 'none';
第二次点击就出现了。
function d(name){
var str = document.getElementById(name);
if(str.style.display ==""||str.style.display =="none"){
str.style.display = "block";
}else{
str.style.display = "none";
}
}