js实现小图切换成大图–美女相册小案例

  • Post author:
  • Post category:其他




实现小图切换大图——美女相册小案例

分析:

  1. 小图切换大图需要两种图片;
  2. 需要点击小图设置onclick;
  3. 根据a标签href属性和img标签src属性设置图片连接;
  4. 阻止a标签跳转
<!DOCTYPE html>
<html lang="en">
<head>
  <meta charset="UTF-8">
  <meta name="viewport" content="width=device-width, initial-scale=1.0">
  <meta http-equiv="X-UA-Compatible" content="ie=edge">
  <title>美女相册</title>
  <style>
    body {
      color: #333;
      background-color: #ccc;
    }
    h1 {
      color: #333;
      padding-left: 200px;
    }
    a {
      color: #c60;
      text-decoration: none;
    }
    ul li {
      padding: 0;
      list-style: none;
    }
    ul {
    /*弹性盒子*/
      display: flex;
    }
    li {
      margin: 0px 20px 20px 0px;
      /*主轴两端对齐项目之间,间隔相等*/
      justify-content: space-around;
    }
    ul li a img {
      border: 0px;
      /*让图片占满盒子*/
      display: block;
    }
    #image {
      margin-left: 60px;
    }
  </style>
</head>
<body>
  <h1>美女画廊</h1>
  <ul>	
    <li>
      <a href="../images/1.jpg" title="美女1">
        <img src="../images/1-small.jpg" width="100" alt="美女A">
      </a>
    </li>
    <li>
      <a href="../images/2.jpg" title="美女2">
        <img src="../images/2-small.jpg" width="100" alt="美女B">
      </a>
    </li>
    <li>
      <a href="../images/3.jpg" title="美女3">
        <img src="../images/3-small.jpg" width="100" alt="美女C">
      </a>
    </li>
    <li>
      <a href="../images/4.jpg" title="美女4">
        <img src="../images/4-small.jpg" width="100" alt="美女D">
      </a>
    </li>
  </ul>
  <img id="image" src="../images/placeholder.png" alt="大图" width="400" ;>
  <p>请选择一张图片</p>
  <script>
    // 或取元素
    var ulA = document.querySelectorAll('a');
    var img = document.querySelector('#image');
    var ps = document.querySelector('p');
    // 遍历每个 a 按标签
    for (let i = 0; i < ulA.length; i++) {
      // 事件绑定
      ulA[i].onclick = function () {
        //  设置大图
        img.src = this.href;
        // 设置内容
        ps.innerText = this.title;
        // 阻止a 跳转
        return false
      };
    }
  </script>
</body>
</html>

效果图

在这里插入图片描述

总结:

  1. 其实这样将连接在HTML中写死了,还可以将链接写在js中;
  2. 获取标签属性修改地址;



版权声明:本文为qq_45644092原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。