[前端] JS实现点击button按钮切换图片

2117 0
Honkers 2022-10-21 15:47:25 | 显示全部楼层 |阅读模式
JS实现点击button按钮切换图片的具体代码,供大家参考,具体内容如下
放暑假在家打算学习html/css/js制作网页,只有html/css的一些基础。实现效果如图:


这个网页很简单,是用Dreamweaver写的,但是是通过自己做的,算是对JS的一个入门案列。
最初的想法是是做一轮播效果,但是刚开始学JS发现有很多问题,所以就做了一个简单的图片切换。
body部分:
  1. <body>
  2. <h1>JS实现图片的切换</h1>
  3. <div class="container">
  4. <div class="one">
  5.   <div class="one-left">
  6.    <button id="pre"><b><</b></button>
  7.   </div>
  8.   <div class="one-center">
  9.    <ul>
  10.     <li style="display:none" id="a"><img src="images/1.jpg" width="600" height="300"></li>
  11.     <li style="display:none" id="b"><img src="images/2.jpg" width="600" height="300"></li>
  12.     <li style="display:none" id="c"><img src="images/3.jpg" width="600" height="300"></li>
  13.     <li style="display:block" id="d"><img src="images/4.jpg" width="600" height="300"></li>
  14.    </ul>
  15.   </div>
  16.   <div class="one-right">
  17.    <button id="next"><b>></b></button>
  18.   </div>
  19. </div>
  20. </div>
  21. </body>
复制代码
JS部分:
  1. <script language="javascript">
  2. var a=document.getElementById("a");
  3. var b=document.getElementById("b");
  4. var c=document.gtElementById("c");
  5. var d=document.getElementById("d");
  6. var b1=document.getElementById("pre");
  7. var b2=document.getElementById("next");
  8. var num=4;
  9. b1.onclick=function(){
  10.    num--;
  11.    if(num<1)
  12.     num=4;
  13.    panduan();
  14. }
  15. b2.onclick=function(){
  16.     num++;
  17.     if(num>4)
  18.      num=1;
  19.     panduan();  
  20. }
  21. function panduan(){
  22.    if(num==1){
  23.      a.style.display="block";
  24.      b.style.display="none";
  25.      c.style.display="none";
  26.      d.style.display="none";
  27.    }
  28.    if(num==2){
  29.      a.style.display="none";
  30.      b.style.display="block";
  31.      c.style.display="none";
  32.      d.style.display="none";
  33.    }
  34.    if(num==3){
  35.      a.style.display="none";
  36.      b.style.display="none";
  37.      c.style.display="block";
  38.      d.style.display="none";
  39.    }
  40.    if(num==4){
  41.      a.style.display="none";
  42.      b.style.display="none";
  43.      c.style.display="none";
  44.      d.style.display="block";
  45.    }
  46. }
  47. </script>
复制代码
CSS部分:
  1. *{
  2.   margin:0;
  3.   padding:0;
  4. }
  5. h1{
  6.   text-align:center;
  7. }
  8. li{
  9.   list-style:none;
  10.   float:left;
  11. }
  12. .container{
  13.   width:1000px;
  14.   height:1000px;
  15.   margin:0 auto;
  16. }
  17. .one{
  18.   width:700px;
  19.   height:400px;
  20.   margin:100px auto;
  21. }
  22. .one-center{
  23.   width:600px;
  24.   height:300px;
  25.   float:left;
  26. }
  27. .one-left{
  28.   width:50px;
  29.   height:300px;
  30.   float:left;
  31. }
  32. .one-right{
  33.   width:50px;
  34.   height:300px;
  35.   float:right;
  36. }
  37. button{
  38.   width:50px;
  39.   height:300px;
  40.   background-color:#999;
  41.   border:none;
  42.   outline:none;
  43. }
  44. button:hover{
  45.   background-color:#666;
  46. }
复制代码
这里面有两个关键点,一是如何隐藏图片,二是button按钮点击和样式。
1.图片的隐藏,我最初想的是用hidden来实现图片的隐藏,设置hidden属性的真假值来实现,但是发现只要给某个标签设置hidden,这个标签就不会显示,我不知道可以通过JS删除和添加hidden属性,因此我就改用style.display="none"和style.display="inline"来实现隐藏和显示。style.display="none"会隐藏该标签,而且隐藏后该标签不占位。后来我又查找发现可以通过a.style.visibility="hidden";和a.style.visibility="visible";来实现隐藏和显示,a.style.visibility="hidden";方法隐藏了该标签,但是该标签还是会占位。
2.第二个就是button属性,主要的问题时button样式的问题,如何才能做一个好看的button,通过查找找到了设置button相关的值。
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;按钮边框圆角
接下来就是想办法实现轮播效果了,慢慢来吧!
以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持中国红客联盟。

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?立即注册

×
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

Honkers

荣誉红客

关注
  • 4009
    主题
  • 36
    粉丝
  • 0
    关注
这家伙很懒,什么都没留下!

中国红客联盟公众号

联系站长QQ:5520533

admin@chnhonker.com
Copyright © 2001-2025 Discuz Team. Powered by Discuz! X3.5 ( 粤ICP备13060014号 )|天天打卡 本站已运行