function g(id) {return document.getElementById(id);}function gs(o,tn) {return o.getElementsByTagName(tn);}//兼容性函数(兼容FF,IE)
var getElementsByName = function(name) {
var returns = document.getElementsByName(name);
if(returns.length > 0) return returns;
returns = new Array();
var e = document.all;
for(var i = 0; i < e.length; i++) {
if(e[i].getAttribute("name") == name) {
returns[returns.length] = e[i];
}
}
return returns;
}//TAB页切换
function selecttab(tabid){
var curtabpage = g("tabpage_"+tabid.id.substr(4,2));
var tabtitle = getElementsByName(tabid.id.substr(0,5)+"_t");
//刷新标签头格式
for(var i=0;i<tabtitle.length;i++){
if(tabtitle[i].id==tabid.id){
tabtitle[i].children[0].className="on";
}
else{
tabtitle[i].children[0].className="";
}
}
//隐藏其他标签页体,显示本标签体
var tabs = getElementsByName(tabid.id.substr(0,5));
for(var i=0;i<tabs.length;i++){
if(tabs[i].id==curtabpage.id){
tabs[i].style.display="block";
}
else{
tabs[i].style.display="none";
}
}
}代码要实现的效果是,鼠标的onmouseover事件触发时,根据鼠标当前位置的tab也,显示tab页的内容。tab页的内容是用div
实现的。最终结果是,在我的电脑上,用FF,IE6到IE8都可以用。在某些同事的电脑上也可以。但在某些同事的电脑上就不可以(无论是FF还是IE),标签页能够切换,但标签的内容不会切换。他们用的FF版本和我一样。然后我在他们的电脑上测试,发现:
tabs[i].style.display="block";
tabs[i].style.display="none";
这两段话可以被执行,但似乎没有效果。请教高手们,不知道是什么原因?
在我本地测试,
var getElementsByName = function(name) {
var returns = document.getElementsByName(name);
if(returns.length > 0) return returns;
returns = new Array();
var e = document.all;
for(var i = 0; i < e.length; i++) {
if(e[i].getAttribute("name") == name) {
returns[returns.length] = e[i];
}
}
return returns;
}//TAB页切换
function selecttab(tabid){
var curtabpage = g("tabpage_"+tabid.id.substr(4,2));
var tabtitle = getElementsByName(tabid.id.substr(0,5)+"_t");
//刷新标签头格式
for(var i=0;i<tabtitle.length;i++){
if(tabtitle[i].id==tabid.id){
tabtitle[i].children[0].className="on";
}
else{
tabtitle[i].children[0].className="";
}
}
//隐藏其他标签页体,显示本标签体
var tabs = getElementsByName(tabid.id.substr(0,5));
for(var i=0;i<tabs.length;i++){
if(tabs[i].id==curtabpage.id){
tabs[i].style.display="block";
}
else{
tabs[i].style.display="none";
}
}
}代码要实现的效果是,鼠标的onmouseover事件触发时,根据鼠标当前位置的tab也,显示tab页的内容。tab页的内容是用div
实现的。最终结果是,在我的电脑上,用FF,IE6到IE8都可以用。在某些同事的电脑上也可以。但在某些同事的电脑上就不可以(无论是FF还是IE),标签页能够切换,但标签的内容不会切换。他们用的FF版本和我一样。然后我在他们的电脑上测试,发现:
tabs[i].style.display="block";
tabs[i].style.display="none";
这两段话可以被执行,但似乎没有效果。请教高手们,不知道是什么原因?
在我本地测试,
for(var i = 0; i < e.length; i++) {
这在ff下会不错???/
没错的话,是因为var returns = document.getElementsByName(name);
if(returns.length > 0) return returns;
如果没走这个条件,必然会错,这是个隐患!
不过这样分析看来,这也不会是导致本问题的原因。
tabs[i].style.display="block";
tabs[i].style.display="none";
这两段话可以被执行,但似乎没有效果。