高分急求js 脚本 实现 div 隐藏和显示 div.display='block' / 'none' 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 <SELECT language=javascript onchange='change(this)' id=ddlYear style="WIDTH: 72px" onchange="__doPostBack('ddlYear','')" name=ddlYear> <OPTION value=1>2010年</OPTION> <OPTION value=2009 selected>2009年</OPTION> <OPTION value=2>2008年</OPTION> <OPTION value=3>2007年</OPTION> <OPTION value=2006>2006年</OPTION></SELECT><DIV id='div_1' style="LINE-HEIGHT: 30px; HEIGHT: 30px; BACKGROUND-COLOR: #d1f1ff"> 成果转化项目</DIV> <DIV id='div_2' style="HEIGHT: 75px"> <IMG src="plantype.gif"><A href="">创新平台</A> 0</DIV> <DIV id='div_3' style="LINE-HEIGHT: 30px; HEIGHT: 30px; BACKGROUND-COLOR: #d1f1ff"> 科技研发项目</DIV>function change(obj){fraAll(); document.getElementById('div_'+obj.value).style.display = 'block';}function fraAll(){document.getElementById('div_1').style.display = 'none';document.getElementById('div_2').style.display = 'none';document.getElementById('div_3').style.display = 'none';} <TR> <TD style="HEIGHT: 2px" bgColor=#ffffff> <IMG alt="" src="annual.gif"> 年份 : <SELECT id="ddlYear" style="WIDTH: 72px" onchange="chage()" name=ddlYear> <OPTION value=2010>2010年</OPTION> <OPTION value=2009>2009年</OPTION> <OPTION value=2008>2008年</OPTION> <OPTION value=2007>2007年</OPTION> <OPTION value=2006>2006年</OPTION> </SELECT> </TD> </TR> <TR> <TD id=divPlanType style="LINE-HEIGHT: 40px; HEIGHT: 100px" vAlign=top align=left bgColor=#ffffff> <DIV id="one" style="LINE-HEIGHT: 30px; HEIGHT: 30px; BACKGROUND-COLOR: #d1f1ff"> 成果转化项目 </DIV> <DIV id="two" style="HEIGHT: 75px"> <IMG src="plantype.gif"><A href="">创新平台</A> 0 </DIV> <DIV id="three" style="LINE-HEIGHT: 30px; HEIGHT: 30px; BACKGROUND-COLOR: #d1f1ff"> 科技研发项目 </DIV> </TD> </TR><script> var chage=function(){ var obj=document.getElementById("ddlYear"); if (obj.value==2010) { document.getElementById("one").style.display="none"; document.getElementById("two").style.display="block"; }if(obj.value==2009) { document.getElementById("two").style.display="none"; document.getElementById("one").style.display="block"; } };</script> // 显示DIV层function openMe(层的ID){ var myDialog = document.getElementById("层的ID"); myDialog.style.display="block"; myDialog.style.pixelTop = (document.body.clientHeight - myDialog.offsetHeight)/2; myDialog.style.pixelLeft = (document.body.offsetWidth - myDialog.offsetWidth)/2; }//隐藏DIV层function hideMe(){ document.getElementById("层的ID").style.display="none";} ============如果不修改的话,下的的div没有ID,也就是说要想得到对象,需要得到页面所有的div然后来分析,如果后期页面加入其它div,则程序就会错误,你这样写本来就不规范的,为什么不让修改?如果你想不修改的话旧实现,那么你自己document.getElementByTagName("div") 得到对象,然后分析得到,可以实现一样的功能 <SCRIPT language=JavaScript>function __doPostBack(ddl,''){ if (document.all(dll).value=="2010"){ document.all('div1').style.display ='none'; document.all('div2').style.display =''; } else if (document.all(dll).value=="2009"){ document.all('div1').style.display =''; document.all('div2').style.display ='none'; }}</SCRIPT> <TR> <TD style="HEIGHT: 2px" bgColor=#ffffff><IMG alt="" src="annual.gif">年份 : <SELECT language=javascript id=ddlYear style="WIDTH: 72px" onchange="__doPostBack('ddlYear','')" name=ddlYear> <OPTION value=2010>2010年</OPTION> <OPTION value=2009 selected>2009年</OPTION> <OPTION value=2008>2008年</OPTION> <OPTION value=2007>2007年</OPTION> <OPTION value=2006>2006年</OPTION></SELECT></TD></TR> <TR> <TD id=divPlanType style="LINE-HEIGHT: 40px; HEIGHT: 100px" vAlign=top align=left bgColor=#ffffff> <DIV id ='div1' style="LINE-HEIGHT: 30px; HEIGHT: 30px; BACKGROUND-COLOR: #d1f1ff"> 成果转化项目</DIV> <DIV id ='div2' style="HEIGHT: 75px"> <IMG src="plantype.gif"><A href="">创新平台</A> 0</DIV> <DIV style="LINE-HEIGHT: 30px; HEIGHT: 30px; BACKGROUND-COLOR: #d1f1ff"> 科技研发项目</DIV></TD></TR> 不能改源代码,那就覆盖原来的__doPostBackfunction __doPostBack(selID, para){ var sel = document.getElementById("ddlYear"); var val = 2010 - parseInt(sel.options[sel.selectedIndex].value); var tr = sel.parentNode; while(tr){ if(tr.tagName.toLowerCase() == "tr"){ break; } tr = tr.parentNode; } if(tr && tr.nextSibling){ tr = tr.nextSibling; var divs = tr.getElementsByTagName("div"); for(var i = 0; i<divs.length; i++){ if(i == val){ divs[i].style.display = "none"; }else{ divs[i].style.display = "block"; } } }} 没看到TD有ID,可以更简单点function __doPostBack(selID, para){ var sel = document.getElementById("ddlYear"); var val = 2010 - parseInt(sel.options[sel.selectedIndex].value); var divs = document.getElementById("divPlanType").getElementsByTagName("div"); for(var i = 0; i<divs.length; i++){ if(i == val){ divs[i].style.display = "none"; }else{ divs[i].style.display = "block"; } }} Example: showHideLayers(Layer1,'','show',Layer2,'','hide');function showHideLayers(){ var i, visStr, obj, args = showHideLayers.arguments; for (i=0; i<(args.length-2); i+=3) { if ((obj = findObj(args[i])) != null) { visStr = args[i+2]; if (obj.style) { obj = obj.style; if(visStr == 'show') visStr = 'visible'; else if(visStr == 'hide') visStr = 'hidden'; } obj.visibility = visStr; } }} 给你一个比较完美的解决方案。基于jquery的,第一步你去下载:jquery的任何一个版本。第二步,JS如下$().ready(function(){ $('div').css("display","none"); $('#div-what you want to show').css("display","block");});第三:如果你想加入一些动画效果还可以使用show,hide函数。 同意使用这种方式,简单,代码量减少很多,上面的js都不怎么好,不能动态实现,要是万一变成2020呢??又得改代码直接要jquery获取当前点击的节点,然后隐藏当前节点,其他的显示,而且jquery提供了很多很好的效果,直接调用就行了 你连题目都没看懂, 就在这JJYY, 人云亦云, 拿想分也用不着这样 晕, 你说的是不修改页面,可以修改JS吧。如果边JS都不能改,那就没方法了。 function change(obj) { var value = obj.value; alert(value); var td = document.getElementById("divPlanType"); if(value == 2010) { td.childNodes[0].style.display = "none"; td.childNodes[1].style.display = ""; } if(value == 2009) { td.childNodes[1].style.display = "none"; td.childNodes[0].style.display = ""; } } Sorry, 请把alert(value);这句删除,这是测试用的。 这里的this是指向谁? 用人用过ymPrompt吗? 页面访问路径问题 关于mapabc API使用遇到的一些问题 寻求对function 的理解 解决IE7禁用了image控件引用本地图片 帮我看看这几个JAVACRIPT 在WEB里如何实现像MSDN里面的索引那样的增量查询? 如何检测一个页面中的所有文本框的onkeydown事件? URL中,?#各表示什么,空格用什么表示? |zyciis| 如何判断一段文字,是否有这个方法 谢谢 xmlhttp:open方法中的POST该怎么写,才能用Request.Form接受到值
<SELECT language=javascript onchange='change(this)'
id=ddlYear style="WIDTH: 72px" onchange="__doPostBack('ddlYear','')"
name=ddlYear> <OPTION value=1>2010年</OPTION> <OPTION value=2009
selected>2009年</OPTION> <OPTION value=2>2008年</OPTION> <OPTION
value=3>2007年</OPTION> <OPTION
value=2006>2006年</OPTION></SELECT><DIV id='div_1'
style="LINE-HEIGHT: 30px; HEIGHT: 30px; BACKGROUND-COLOR: #d1f1ff"> 成果转化项目</DIV>
<DIV id='div_2'
style="HEIGHT: 75px"> <IMG
src="plantype.gif"><A
href="">创新平台</A> 0</DIV>
<DIV id='div_3'
style="LINE-HEIGHT: 30px; HEIGHT: 30px; BACKGROUND-COLOR: #d1f1ff"> 科技研发项目</DIV>
function change(obj){
fraAll();
document.getElementById('div_'+obj.value).style.display = 'block';
}
function fraAll(){
document.getElementById('div_1').style.display = 'none';
document.getElementById('div_2').style.display = 'none';
document.getElementById('div_3').style.display = 'none';}
<TR>
<TD style="HEIGHT: 2px" bgColor=#ffffff>
<IMG alt="" src="annual.gif">
年份 : <SELECT id="ddlYear" style="WIDTH: 72px" onchange="chage()" name=ddlYear>
<OPTION value=2010>2010年</OPTION>
<OPTION value=2009>2009年</OPTION>
<OPTION value=2008>2008年</OPTION>
<OPTION value=2007>2007年</OPTION>
<OPTION value=2006>2006年</OPTION>
</SELECT>
</TD>
</TR>
<TR>
<TD id=divPlanType style="LINE-HEIGHT: 40px; HEIGHT: 100px" vAlign=top align=left bgColor=#ffffff>
<DIV id="one" style="LINE-HEIGHT: 30px; HEIGHT: 30px; BACKGROUND-COLOR: #d1f1ff">
成果转化项目
</DIV>
<DIV id="two" style="HEIGHT: 75px">
<IMG src="plantype.gif"><A href="">创新平台</A> 0
</DIV>
<DIV id="three" style="LINE-HEIGHT: 30px; HEIGHT: 30px; BACKGROUND-COLOR: #d1f1ff">
科技研发项目
</DIV>
</TD>
</TR>
<script>
var chage=function(){
var obj=document.getElementById("ddlYear");
if (obj.value==2010)
{
document.getElementById("one").style.display="none";
document.getElementById("two").style.display="block";
}if(obj.value==2009)
{
document.getElementById("two").style.display="none";
document.getElementById("one").style.display="block";
}
};
</script>
function openMe(层的ID){
var myDialog = document.getElementById("层的ID");
myDialog.style.display="block";
myDialog.style.pixelTop = (document.body.clientHeight - myDialog.offsetHeight)/2;
myDialog.style.pixelLeft = (document.body.offsetWidth - myDialog.offsetWidth)/2;
}//隐藏DIV层
function hideMe(){
document.getElementById("层的ID").style.display="none";
}
如果不修改的话,下的的div没有ID,也就是说要想得到对象,需要得到页面所有的div然后来分析,如果后期页面加入其它div,则程序就会错误,你这样写本来就不规范的,为什么不让修改?
如果你想不修改的话旧实现,那么你自己document.getElementByTagName("div") 得到对象,然后分析得到,可以实现一样的功能
function __doPostBack(ddl,''){
if (document.all(dll).value=="2010"){
document.all('div1').style.display ='none';
document.all('div2').style.display ='';
} else if (document.all(dll).value=="2009"){
document.all('div1').style.display ='';
document.all('div2').style.display ='none';
}}
</SCRIPT>
<TR>
<TD style="HEIGHT: 2px" bgColor=#ffffff><IMG alt=""
src="annual.gif">年份 : <SELECT language=javascript
id=ddlYear style="WIDTH: 72px" onchange="__doPostBack('ddlYear','')"
name=ddlYear> <OPTION value=2010>2010年</OPTION> <OPTION value=2009
selected>2009年</OPTION> <OPTION value=2008>2008年</OPTION> <OPTION
value=2007>2007年</OPTION> <OPTION
value=2006>2006年</OPTION></SELECT></TD></TR>
<TR>
<TD id=divPlanType style="LINE-HEIGHT: 40px; HEIGHT: 100px" vAlign=top
align=left bgColor=#ffffff>
<DIV id ='div1'
style="LINE-HEIGHT: 30px; HEIGHT: 30px; BACKGROUND-COLOR: #d1f1ff"> 成果转化项目</DIV>
<DIV id ='div2'
style="HEIGHT: 75px"> <IMG
src="plantype.gif"><A
href="">创新平台</A> 0</DIV>
<DIV
style="LINE-HEIGHT: 30px; HEIGHT: 30px; BACKGROUND-COLOR: #d1f1ff"> 科技研发项目</DIV>
</TD></TR>
function __doPostBack(selID, para){
var sel = document.getElementById("ddlYear");
var val = 2010 - parseInt(sel.options[sel.selectedIndex].value);
var tr = sel.parentNode;
while(tr){
if(tr.tagName.toLowerCase() == "tr"){
break;
}
tr = tr.parentNode;
}
if(tr && tr.nextSibling){
tr = tr.nextSibling;
var divs = tr.getElementsByTagName("div");
for(var i = 0; i<divs.length; i++){
if(i == val){
divs[i].style.display = "none";
}else{
divs[i].style.display = "block";
}
}
}
}
var sel = document.getElementById("ddlYear");
var val = 2010 - parseInt(sel.options[sel.selectedIndex].value);
var divs = document.getElementById("divPlanType").getElementsByTagName("div");
for(var i = 0; i<divs.length; i++){
if(i == val){
divs[i].style.display = "none";
}else{
divs[i].style.display = "block";
}
}
}
第一步你去下载:jquery的任何一个版本。
第二步,JS如下
$().ready(function(){
$('div').css("display","none");
$('#div-what you want to show').css("display","block");
});
第三:如果你想加入一些动画效果还可以使用show,hide函数。
直接要jquery获取当前点击的节点,然后隐藏当前节点,其他的显示,而且jquery提供了很多很好的效果,直接调用就行了
你连题目都没看懂, 就在这JJYY, 人云亦云, 拿想分也用不着这样
{
var value = obj.value;
alert(value);
var td = document.getElementById("divPlanType");
if(value == 2010)
{
td.childNodes[0].style.display = "none";
td.childNodes[1].style.display = "";
}
if(value == 2009)
{
td.childNodes[1].style.display = "none";
td.childNodes[0].style.display = "";
}
}