JavaScript简单下拉菜单特效
本文实例为大家分享了js下拉菜单特效,供大家参考,具体内容如下
实例1:联动的省市下拉菜单
onchange事件会在域的内容改变时发生。
<scripttype="text/javascript">
vararr=newArray();//数据数组
//定义数据,结构为:id、名字、父id
arr[arr.length]=[1,'北京市',null];
arr[arr.length]=[2,'四川省',null];
arr[arr.length]=[3,'广东省',null];
arr[arr.length]=[4,'北京市',1];
arr[arr.length]=[5,'成都市',2];
arr[arr.length]=[6,'广州市',3];
arr[arr.length]=[7,'深圳市',3];
//动态设置下拉项目
functionfillOptions(type){
if(type=='province'){
//获取省份下拉菜单的DOM
varprovince=document.getElementById("province");
province.innerHTML='';//内容先置空
//填充省的字符
varproStr='<optionvalue=""></option>';
//遍历数组
for(vari=0;i<arr.length;i++){
varitem=arr[i];//当前项
//如果没有父id,则是省份
if(item[2]==null)
proStr+='<optionvalue='+item[0]+'>'+item[1]+'</option>';
}
province.innerHTML=proStr;//填充新内容
}elseif(type=='city'){
//获取当前的省份的id
varcurrProId=document.getElementById("province").value;
if(currProId=='')
returnfalse;
//获取城市下拉菜单的DOM
varcity=document.getElementById("city");
city.innerHTML='';//内容先置空
//填充市的字符
varcityStr='<optionvalue=""></option>';
//遍历数组
for(vari=0;i<arr.length;i++){
varitem=arr[i];//当前项
//判断是否为当前省下的城市
if(item[2]==currProId)
cityStr+='<optionvalue='+item[0]+'>'+item[1]+'</option>';
}
city.innerHTML=cityStr;//填充新内容
}
}
</script>
<bodystyle="text-align:center;"onload="fillOptions('province');">
<!--定义下拉菜单-->
省:<selectid="province"onchange="fillOptions('city')"></select><br/><br/>
市:<selectid="city"></select><br/><br/>
</body>
实例2:三级联动的省市县下拉菜单
<scripttype="text/javascript">
vararr=newArray();//数据数组
//定义数据,结构为:id、名字、父id
arr[arr.length]=[1,'北京市',null];
arr[arr.length]=[2,'四川省',null];
arr[arr.length]=[3,'广东省',null];
arr[arr.length]=[4,'北京市',1];
arr[arr.length]=[5,'成都市',2];
arr[arr.length]=[6,'广州市',3];
arr[arr.length]=[7,'深圳市',3];
arr[arr.length]=[8,'武侯区',5];
arr[arr.length]=[9,'青羊区',5];
arr[arr.length]=[10,'白云区',6];
arr[arr.length]=[11,'增城市',6];
arr[arr.length]=[12,'从化市',6];
//动态设置下拉项目
functionfillOptions(type){
if(type=='province'){
//获取省份下拉菜单的DOM
varprovince=document.getElementById("province");
province.innerHTML='';//内容先置空
//填充省的字符
varproStr='<optionvalue=""></option>';
for(vari=0;i<arr.length;i++){//遍历数组
varitem=arr[i];//当前项
//如果没有父id,则是省份
if(item[2]==null)
proStr+='<optionvalue='+item[0]+'>'+item[1]+'</option>';
}
province.innerHTML=proStr;//填充新内容
}elseif(type=='city'){
//获取当前的省份的id
varcurrProId=document.getElementById("province").value;
if(currProId=='')
returnfalse;
//获取城市下拉菜单的DOM
varcity=document.getElementById("city");
city.innerHTML='';//内容先置空
//填充市的字符
varcityStr='<optionvalue=""></option>';
for(vari=0;i<arr.length;i++){//遍历数组
varitem=arr[i];//当前项
//判断是否为当前省下的城市
if(item[2]==currProId)
cityStr+='<optionvalue='+item[0]+'>'+item[1]+'</option>';
}
city.innerHTML=cityStr;//填充新内容
}elseif(type=='area'){
//获取当前城市的id
varcurrCityId=document.getElementById("city").value;
if(currCityId=='')
returnfalse;
//获取区县下拉菜单的DOM
vararea=document.getElementById("area");
area.innerHTML='';//内容先置空
//填充区县的字符
varareaStr='<optionvalue=""></option>';
for(vari=0;i<arr.length;i++){//遍历数组
varitem=arr[i];//当前项
//判断是否为当前城市下的区县
if(item[2]==currCityId)
areaStr+='<optionvalue='+item[0]+'>'+item[1]+'</option>';
}
area.innerHTML=areaStr;//填充新内容
}
}
</script>
<bodystyle="text-align:center;"onload="fillOptions('province');">
<!--定义下拉菜单-->
省:<selectid="province"onchange="fillOptions('city')"></select><br/><br/>
市:<selectid="city"onchange="fillOptions('area')"></select><br/><br/>
县/区:<selectid="area"></select><br/><br/>
</body>
以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持毛票票。