以下為引用的內容:
hide: function(el) {
el.style.display = "none";
}
show: function(el) {
el.style.display = "block";
}
這裡在show函數上就有個問題,如果元素是display:inline話就有問題了,然後我又改成了:
以下為引用的內容:
hide: function(el) {
el.style.display = "none";
}
show: function(el) {
el.style.display = " ";
}
這也是經常看到的一種,但是當用CSS類設置元素的display時,是computedStyle,而不屬於style對象,方法display=”只是取消style對象的display值;最後記過查找在《精通javascript》找到了一下方法,
以下為引用的內容:
/**
* 隱藏指定的DOM對象
* @id hide
* @param {String} el DOM對象
* @return {none}
*/
hide: function(el) {
el = this.get(el);//獲取對象
var curDisplay=this.getStyle(el,"display");//獲取對象的display屬性值,
if(curDisplay!="none"){
el._curDisplay=curDisplay;//增加對象的私有屬性_curDisplay用來存放元素隱藏前的display屬性值;
}
el.style.display = "none";
},
/**
* 顯示指定的DOM對象
* @id show
* @param {String} el DOM對象
* @return {none}
*/
show: function(el) {
el = this.get(el);
el.style.display = el._curDisplay||""; //取對象的display屬性值設置成元素隱藏前的display屬性值,如果沒有就去“”
},
歡迎大家發表意見和建議!