JavaScript实现点击按钮切换图片的完整代码与样式详解

作者:微光时间:2026-10-25 15:07:00浏览:79

本文介绍如何使用JavaScript、HTML和CSS实现点击按钮切换图片的功能。文章详细解析了通过JS控制图片显示与隐藏的两种方法,包括利用display属性和visibility属性,并提供了美化按钮的CSS代码,如去除边框、添加阴影和圆角等效果,适合前端初学者参考。

以下是使用JavaScript实现点击按钮切换图片的具体代码,供读者参考。

图片切换功能实现概述

暑假期间在家学习HTML、CSS和JavaScript以制作网页,目前仅具备HTML和CSS的基础知识。实现效果如图所示。

图片切换功能实现概述

该网页制作相对简单,使用Dreamweaver编写,但完全由个人独立完成,作为JavaScript的入门案例。

最初的构想是实现轮播效果,但由于刚开始学习JavaScript,发现存在诸多问题,因此改为制作一个较为简单的图片切换功能。

HTML结构代码

HTML的body部分代码如下:

<body>
<h1>JS实现图片的切换</h1>
<div class="container">
  <div class="one">
    <div class="one-left">
      <button id="pre"><b><</b></button>
    </div>
    <div class="one-center">
      <ul>
        <li style="display:none" id="a"><img src="images/1.jpg"  width="600" height="300"></li>
        <li style="display:none" id="b"><img src="images/2.jpg" width="600" height="300"></li>
        <li style="display:none" id="c"><img src="images/3.jpg" width="600" height="300"></li>
        <li style="display:block" id="d"><img src="images/4.jpg" width="600" height="300"></li>
      </ul>
    </div>
    <div class="one-right">
      <button id="next"><b>></b></button>
    </div>
  </div>
</div>
</body>

JavaScript逻辑代码

JavaScript部分代码如下:

<script language="javascript">
  var a=document.getElementById("a");
  var b=document.getElementById("b");
  var c=document.getElementById("c");
  var d=document.getElementById("d");
  var b1=document.getElementById("pre");
  var b2=document.getElementById("next");
  var num=4;
  b1.onclick=function(){   
      num--;
      if(num<1)
        num=4;
      panduan();
  }
   b2.onclick=function(){
        num++;
        if(num>4)
          num=1;
        panduan();    
  }
  function panduan(){
      if(num==1){
          a.style.display="block";
          b.style.display="none";
          c.style.display="none";
          d.style.display="none";
      }
      if(num==2){
          a.style.display="none";
          b.style.display="block";
          c.style.display="none";
          d.style.display="none";
      }
      if(num==3){
          a.style.display="none";
          b.style.display="none";
          c.style.display="block";
          d.style.display="none";
      }
      if(num==4){
          a.style.display="none";
          b.style.display="none";
          c.style.display="none";
          d.style.display="block";
      }
  }   
</script>

CSS样式代码

CSS部分代码如下:

*{
    margin:0;
    padding:0;
}
h1{
    text-align:center;
}
li{
    list-style:none;
    float:left;
}
.container{
    width:1000px;
    height:1000px;
    margin:0 auto;
}
.one{
    width:700px;
    height:400px;
    margin:100px auto;
}
.one-center{
    width:600px;
    height:300px;
    float:left;
}
.one-left{
    width:50px;
    height:300px;
    float:left;
}
.one-right{
    width:50px;
    height:300px;
    float:right;
}
button{
    width:50px;
    height:300px;
    background-color:#999;
    border:none;
    outline:none;
}
button:hover{
    background-color:#666;
}

关键技术点解析

实现过程中有两个关键点:一是如何隐藏图片,二是按钮的点击事件与样式设置。

图片隐藏方法对比

首先是图片的隐藏。最初尝试使用hidden属性,通过设置其真假值来控制显示,但发现一旦给标签设置hidden,该标签即不显示。由于不确定如何通过JavaScript删除或添加hidden属性,最终改用style.display="none"和style.display="inline"来实现隐藏和显示。其中style.display="none"会隐藏标签,且隐藏后该标签不占据页面空间。随后查阅资料发现,也可以通过a.style.visibility="hidden";和a.style.visibility="visible";来实现隐藏和显示,a.style.visibility="hidden";方法虽然隐藏了标签,但该标签仍会占据页面空间。

按钮样式美化设置

其次是按钮属性的处理,主要涉及按钮样式的设置,旨在制作美观的按钮。通过查阅资料,找到了设置按钮相关属性的方法。

使用border:none; 设置按钮无边框。

使用outline:none;消除按钮点击后出现的表示被点击状态的边框。

使用background:url(...)设置按钮背景图片。

使用text-shadow: 0 1px 1px rgba(0,0,0,.3);添加文字阴影。

使用box-shadow: 0 5px 7px rgba(0,0,0,.2);添加按钮阴影。

使用border-radius:15px;设置按钮边框圆角。

接下来将尝试实现轮播效果,逐步推进学习。

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持本站。

作者最新文章