我做了一个菜单,但遇到SELECT时,便显示不出来?怎么办? http://expert.csdn.net/Expert/topic/1134/1134159.xml?temp=2.576846E-02 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 var HideElementTemp = new Array();//点击菜单时,调用此的函数,菜单对象function cal_hideElementAll(obj){ cal_HideElement("IMG",obj); cal_HideElement("SELECT",obj); cal_HideElement("OBJECT",obj); cal_HideElement("IFRAME",obj);}function cal_HideElement(strElementTagName,obj){try{ var showDivElement = obj; var calendarDiv = obj); var intDivLeft = cal_GetOffsetLeft(showDivElement); var intDivTop = cal_GetOffsetTop(showDivElement);//+showDivElement.offsetHeight; for(i=0;i<window.document.all.tags(strElementTagName).length; i++){ var objTemp = window.document.all.tags(strElementTagName)[i]; if(!objTemp||!objTemp.offsetParent||objTemp==goYearSelect||objTemp==goMonthSelect) continue; var intObjLeft=cal_GetOffsetLeft(objTemp); var intObjTop=cal_GetOffsetTop(objTemp); if(((intObjLeft+objTemp.clientWidth)>intDivLeft)&& (intObjLeft<intDivLeft+calendarDiv.style.posWidth)&& (intObjTop+objTemp.clientHeight>intDivTop)&& (intObjTop<intDivTop+calendarDiv.style.posHeight)){ var intTempIndex=HideElementTemp.length;//已经有的长度 //save elementTagName is stutas HideElementTemp[intTempIndex]=new Array(objTemp,objTemp.style.visibility); objTemp.style.visibility="hidden"; } }}catch(err){}}function cal_ShowElement(){ var i; for(i=0;i<HideElementTemp.length; i++){ var objTemp = HideElementTemp[i][0]; if(!objTemp||!objTemp.offsetParent) continue; objTemp.style.visibility=HideElementTemp[i][1]; } HideElementTemp=new Array();}function cal_GetOffsetLeft(src){ var set=0; if(src && src.name!="divMain"){ if (src.offsetParent){ set+=src.offsetLeft+cal_GetOffsetLeft(src.offsetParent); } if(src.tagName.toUpperCase()!="BODY"){ var x=parseInt(src.scrollLeft,10); if(!isNaN(x)) set-=x; } } return set;}function cal_GetOffsetTop(src){ var set=0; if(src && src.name!="divMain"){ if (src.offsetParent){ set+=src.offsetTop+cal_GetOffsetTop(src.offsetParent); } if(src.tagName.toUpperCase()!="BODY"){ var y=parseInt(src.scrollTop,10); if(!isNaN(y)) set-=y; } } return set;} 注:方案是隐藏表格或层下的"IMG","SELECT","OBJECT",“IFRAME"对象。当选择完后再调用“cal_ShowElement()”进行显示。 javascript焦点到文本框末尾 一个极简单的jQuery,死活不对=。=太打击初学者了 域名怎么改不会来了? radio 全选 如何分离出这个滚动新闻的jquery代码? 这样的回复框怎么做 javaScript报IE错误的原因 HighChart做历史曲线,无数据的部分是否可以断开? 关于如何取得鼠标位置的问题 请教javascript当中当中如何根据用户的分辨率调整页面大小 急问! 送80分 怎样取得表格的当前行 如何利用JAVAScript或VBScript调用DLL?
//点击菜单时,调用此的函数,菜单对象
function cal_hideElementAll(obj){
cal_HideElement("IMG",obj);
cal_HideElement("SELECT",obj);
cal_HideElement("OBJECT",obj);
cal_HideElement("IFRAME",obj);
}
function cal_HideElement(strElementTagName,obj){
try{
var showDivElement = obj;
var calendarDiv = obj);
var intDivLeft = cal_GetOffsetLeft(showDivElement);
var intDivTop = cal_GetOffsetTop(showDivElement);//+showDivElement.offsetHeight;
for(i=0;i<window.document.all.tags(strElementTagName).length; i++){
var objTemp = window.document.all.tags(strElementTagName)[i];
if(!objTemp||!objTemp.offsetParent||objTemp==goYearSelect||objTemp==goMonthSelect)
continue;
var intObjLeft=cal_GetOffsetLeft(objTemp);
var intObjTop=cal_GetOffsetTop(objTemp);
if(((intObjLeft+objTemp.clientWidth)>intDivLeft)&&
(intObjLeft<intDivLeft+calendarDiv.style.posWidth)&&
(intObjTop+objTemp.clientHeight>intDivTop)&&
(intObjTop<intDivTop+calendarDiv.style.posHeight)){
var intTempIndex=HideElementTemp.length;//已经有的长度
//save elementTagName is stutas
HideElementTemp[intTempIndex]=new Array(objTemp,objTemp.style.visibility);
objTemp.style.visibility="hidden";
}
}
}catch(err){
}
}function cal_ShowElement(){
var i;
for(i=0;i<HideElementTemp.length; i++){
var objTemp = HideElementTemp[i][0];
if(!objTemp||!objTemp.offsetParent)
continue;
objTemp.style.visibility=HideElementTemp[i][1];
}
HideElementTemp=new Array();
}function cal_GetOffsetLeft(src){
var set=0;
if(src && src.name!="divMain"){
if (src.offsetParent){
set+=src.offsetLeft+cal_GetOffsetLeft(src.offsetParent);
}
if(src.tagName.toUpperCase()!="BODY"){
var x=parseInt(src.scrollLeft,10);
if(!isNaN(x))
set-=x;
}
}
return set;
}function cal_GetOffsetTop(src){
var set=0;
if(src && src.name!="divMain"){
if (src.offsetParent){
set+=src.offsetTop+cal_GetOffsetTop(src.offsetParent);
}
if(src.tagName.toUpperCase()!="BODY"){
var y=parseInt(src.scrollTop,10);
if(!isNaN(y))
set-=y;
}
}
return set;
}