默认“企业”为<b>元素,即不可被点击,其他为<a>元素,在点击某个能被点击的元素之后就需发生像我标题提到的情况,html的大体样子是这样的:
<div style="text-align:center;font-size:13px">
<b id="c" class="n" >企业</b>
<a id="i" class="y" onclick="change('i');" href="#">行业</a>
<a id="m" class="y" onclick="change('m');" href="#">地图</a>
</div>
下面是我低水平的js代码:
function change(var i)
{
var oOldA = document.getElementById("i");
var oParent = oOldA.parentNode;
changeB_to_A(oParent); // 检索未被点元素并进行操作
changeA_to_B(oOldA,oParent) ; //对被点击元素操作
}
function changeB_to_A(var oParent)
{
//将其他的b元素替换成a元素,并使它对应的查询界面不可见
var oOldB = oParent.getElementsByTagName("b")[0]; //父节点为同一个
var oNewA = document.createElement("a");
oNewA.className = "y";
oNewA.id = oOldB.id;
var oNewA_text ;
switch(oNewA.id)
{
case "c":
oNewA_text = document.createTextNode("企业") ;
oNewA.href = "#";
document.getElementById("corporation").style.display = "none";
case "i":
oNewA_text = document.createTextNode("行业") ;
oNewA.href = "#";
document.getElementById("industry").style.display = "none";
case "m":
oNewA_text = document.createTextNode("地图") ;
oNewA.href = "#";
document.getElementById("map").style.display = "none";
}
oNewA.onclick = "change('"+oNewA.id+"')";
oParent.appendChild(oNewA);
oParent.replaceChild(oNewA,oOldB);
}
function changeA_to_B(var oOldA,var oParent)
{
//将a元素替换成b元素,并使得对应的查询界面可见
var oNewB= document.createElement("b");
oNewB.className = "n";
oNewB.id = oOldA.id;
var oNewB_text;
switch(oNewB.id)
{
case "c":
oNewB_text = document.createTextNode("企业");
document.getElementById("corporation").style.display = "block";
case "i":
oNewB_text = document.createTextNode("行业");
document.getElementById("industry").style.display = "block";
case "m":
oNewB_text = document.createTextNode("地图");
document.getElementById("map").style.display = "block";
}
oNewB.appendChild(oNewB_text);
oParent.appendChild(oNewB);
oParent.replaceChild(oNewB,oOldA);
}
} 请求大家指点,谢谢
<div style="text-align:center;font-size:13px">
<b id="c" class="n" >企业</b>
<a id="i" class="y" onclick="change('i');" href="#">行业</a>
<a id="m" class="y" onclick="change('m');" href="#">地图</a>
</div>
下面是我低水平的js代码:
function change(var i)
{
var oOldA = document.getElementById("i");
var oParent = oOldA.parentNode;
changeB_to_A(oParent); // 检索未被点元素并进行操作
changeA_to_B(oOldA,oParent) ; //对被点击元素操作
}
function changeB_to_A(var oParent)
{
//将其他的b元素替换成a元素,并使它对应的查询界面不可见
var oOldB = oParent.getElementsByTagName("b")[0]; //父节点为同一个
var oNewA = document.createElement("a");
oNewA.className = "y";
oNewA.id = oOldB.id;
var oNewA_text ;
switch(oNewA.id)
{
case "c":
oNewA_text = document.createTextNode("企业") ;
oNewA.href = "#";
document.getElementById("corporation").style.display = "none";
case "i":
oNewA_text = document.createTextNode("行业") ;
oNewA.href = "#";
document.getElementById("industry").style.display = "none";
case "m":
oNewA_text = document.createTextNode("地图") ;
oNewA.href = "#";
document.getElementById("map").style.display = "none";
}
oNewA.onclick = "change('"+oNewA.id+"')";
oParent.appendChild(oNewA);
oParent.replaceChild(oNewA,oOldB);
}
function changeA_to_B(var oOldA,var oParent)
{
//将a元素替换成b元素,并使得对应的查询界面可见
var oNewB= document.createElement("b");
oNewB.className = "n";
oNewB.id = oOldA.id;
var oNewB_text;
switch(oNewB.id)
{
case "c":
oNewB_text = document.createTextNode("企业");
document.getElementById("corporation").style.display = "block";
case "i":
oNewB_text = document.createTextNode("行业");
document.getElementById("industry").style.display = "block";
case "m":
oNewB_text = document.createTextNode("地图");
document.getElementById("map").style.display = "block";
}
oNewB.appendChild(oNewB_text);
oParent.appendChild(oNewB);
oParent.replaceChild(oNewB,oOldA);
}
} 请求大家指点,谢谢
解决方案 »
免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货