JavaScript实现二级联动菜单与图片悬停放大效果

作者:交互手记时间:2026-10-29 22:50:44浏览:301

本文详细介绍两种JavaScript前端交互效果的实现方法。首先通过定义省份与城市数组,利用DOM操作实现地区选择的二级联动菜单,确保用户选择省份后城市列表自动更新。其次,演示如何监听鼠标移入移出事件,动态修改图片宽高属性,实现鼠标悬停时图片放大、移出时恢复原状的视觉特效。代码包含HTML结构及JS逻辑,适合初学者参考学习。

JavaScript实现二级联动菜单与图片悬停放大效果

本文分享了使用JavaScript实现两种常见前端交互效果的完整代码示例,主要涵盖二级联动菜单与图片悬停放大功能。

运行效果如下图所示:

JavaScript实现二级联动菜单与图片悬停放大效果

二级联动菜单实现

具体实现步骤如下: 1. JavaScript核心逻辑代码如下:


<script type="text/javascript">
var arr_province=["请选择省份/城市","北京市","上海市","天津市","河南省","山东省","河北省"];
var arr_city=[
  ["请选择城市/地区"],
  ["中关村","海淀区","朝阳区","昌平区","丰台区","大兴区"],
  ["宝坻区","浦东新区","长宁区","徐汇区","虹口区","宝山区"],
  ["和平区","河东区","河西区","塘沽区","大港区","北辰区"],
  ["郑州市","洛阳市","商丘市","开封市","安阳市","濮阳市"],
  ["济南市","青岛市","烟台市","德州市"],
  ["石家庄","菏泽市","唐山市"],
  ];
function init()
{
 var province=document.form1.province;
 province.style.width=150+"px";
 var city=document.form1.city;
 city.style.width=150+"px";
 //给province赋值高度,才能在其里面写入内容
 province.length=arr_province.length;
 for(var i=0;i<arr_province.length;i++)
 {
 province.options[i].text=arr_province[i];
 province.options[i].value=arr_province[i];
 }
 //设置默认被选中的选项
 var index=0;
 province.selectedIndex=index;
 //给city赋值高度,才能在其里面写入内容
 city.length=arr_city[index].length;
 for(var j=0;j<arr_city[index].length;j++)
 {
 city.options[j].text=arr_city[index][j];
 city.options[j].value=arr_city[index][j];
 }
 
}
function select_change(num)
{
 var city=document.form1.city;
 city.length=0;
 city.length=arr_city[num].length;
 for(var i=0; i<arr_city[num].length;i++)
 {
 city.options[i].text=arr_city[num][i];
 city.options[i].value=arr_city[num][i];
 }
}
</script>

2. HTML body部分结构代码如下:


<body onload="init()">
 <form name="form1">
 所在地区:<select name="province" onchange="select_change(this.selectedIndex)"></select>
 城市:<select name="city"></select>
 </form>
</body>

图片悬停放大特效

第二种效果展示: 1. 利用JavaScript实现鼠标经过图片时放大、移出时恢复原状的效果,具体JS代码如下:


<script type="text/javascript">
function init()
{
 var img0=document.getElementById("img0");
 img0.onmouseover=function()
  {
  img0.style.width=img0.offsetWidth*1.5+"px"
  }
 img0.onmouseout=function()
  {
  img0.style.width=img0.offsetWidth/1.5+"px"
  }
}
</script>

2. HTML body部分结构代码如下:


<body onload="init()">
<img id="img0" src="images/4.jpg" />
</body>

以上即为本文的全部内容,希望这些示例能对读者学习JavaScript程序设计提供实际帮助。

作者最新文章