js实现鼠标切换图片(无定时器)


Posted in Javascript onJanuary 27, 2021

本文实例为大家分享了js实现鼠标切换图片的具体代码,供大家参考,具体内容如下

实现效果,可以利用鼠标移动在对应的小点点上,或者点击左右两侧的箭头切换图片,并在图片的上方显示出图片的页数,下方显示出对应图片的标题。

全部代码如下:

<!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>
    .picture {
      position: relative;
      width: 500px;
      height: 333px;
      margin: 0 auto;
      border: 2px solid rgb(231, 127, 217);
      overflow: hidden;
    }

    .radius {
      width: 100%;
      height: 10px;
      position: absolute;
      bottom: 30px;
      text-align: center;
    }

    .pg {     //图片上方页码
      position: absolute;
      margin: 0;
      width: 100%;
      height: 20px;
      background-color: rgba(0, 0, 0, .4);
      text-align: center;
      font-size: 16px;
      font-weight: 600;
      color: #fff;
    }

    .title {
      position: absolute;
      width: 100%;
      bottom: 0px;
      text-align: center;
      font-size: 16px;
      font-weight: 600;
      color: rgb(21, 223, 72);
    }

    span {
      display: inline-block;
      border: 10px solid #fdfdfd;
      border-radius: 50%;
    }

    .active {
      border: 10px solid #656466;
    }

    /* 左右箭头 */
    .arrowhead-left,
    .arrowhead-right {
      position: absolute;
      width: 41px;
      height: 69px;
      font-size: 30px;
      line-height: 70px;
      text-align: center;
      color: #D6D8D4;
      background-color: rgba(0,0,0,.3);
    }

    .arrowhead-left {
      left: 0;
      top: 40%;
    }

    .arrowhead-right {
      right: 0;
      top: 40%;
    }
  </style>
</head>

<body>
  <div class="picture">
    <!-- 图片页码 -->
    <p class="pg">封面</p>
    <img src="./image/d8.jpeg" alt="">

    <!-- 小圆点点 -->
    <p class="radius"></p>
    <!-- 图片的下面标题 -->
    <p class="title">标题</p>

    <!-- 左右箭头 -->
    <div class="arrowhead-left" id="al"> < </div> 
    <div class="arrowhead-right" id="ar"> > </div>
  </div>

  <script>
    var address = ["./image/d1.jpeg", "./image/d2.jpeg", "./image/d3.jpeg", "./image/d4.jpeg", "./image/d5.jpeg", "./image/d7.jpeg"];
    // var imgs = document.getElementsByTagName("img");
    var imgs = document.querySelector("img");
    var len = address.length;
    var str = "";
    var pp = document.getElementsByTagName("p");//获取的是一个集合
    // var pp = document.querySelector("p");  //获取的是一个元素
    var al = document.getElementById("al");
    var ar = document.getElementById("ar");
    //添加span标签
    for (i = 0; i < len; i++) {
      str += ' <span></span>'
    }
    console.log(str);
    console.log(pp);
    pp[1].innerHTML = str;
    var spans = pp[1].getElementsByTagName('span');
    spans[0].className = 'active';

    for (i = 0; i < len; i++) {
      spans[i].index = i;
      spans[i].onmouseover = function () {  //所有圆点的类为空
        for (i = 0; i < len; i++) {
          spans[i].className = "";
        }
        this.className = 'active';      //给点击的span(圆点)添加类名
        imgs.src = address[this.index];  
        pp[0].innerHTML = [this.index + 1] + "/6";
        pp[2].innerHTML = "风光" + [this.index + 1];

      }
    }
    var n = 0 ;
    ar.onclick = function () {

      for (i = 0; i < len; i++) {
        spans[i].className = "";
      }

      spans[n].className = "active";
      imgs.src = address[n];
      pp[0].innerHTML = (n+1) + "/6";
      pp[2].innerHTML = "风光" +(n+1);
      if (n<5) {
        n++; 
      }
      else {
       n=0;
      }
    }
    al.onclick = function () {

     for (i = 0; i < len; i++) {
       spans[i].className = "";
     }
     
     spans[n].className = "active";
     imgs.src = address[n];
     pp[0].innerHTML = (n+1) + "/6";
     pp[2].innerHTML = "风光" +(n+1);
     if (n>0) {
       n--; 
     }
     else {}
      n=(len-1);
     }
     }
  </script>
</body>

</html>

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

Javascript 相关文章推荐
判断浏览器的javascript版本的代码
Sep 03 Javascript
对js关键字命名的疑问介绍
Apr 25 Javascript
原生JavaScript生成GUID的实现示例
Sep 05 Javascript
javascript检测是否联网的实现代码
Sep 28 Javascript
JavaScript中Function详解
Feb 27 Javascript
JQuery入门基础小实例(1)
Sep 17 Javascript
基于jQuery Circlr插件实现产品图片360度旋转
Sep 20 Javascript
ionic实现带字的toggle滑动组件
Aug 27 Javascript
js的OOP继承实现(必看篇)
Feb 18 Javascript
Node.js通过身份证号验证年龄、出生日期与性别方法示例
Mar 09 Javascript
vue中使用element-ui进行表单验证的实例代码
Jun 22 Javascript
在vue中使用echars实现上浮与下钻效果
Nov 08 Javascript
JavaScript实现切换多张图片
Jan 27 #Javascript
jquery实现点击左右按钮切换图片
Jan 27 #jQuery
JavaScript实现点击切换功能
Jan 27 #Javascript
Node使用koa2实现一个简单JWT鉴权的方法
Jan 26 #Javascript
vue3 watch和watchEffect的使用以及有哪些区别
Jan 26 #Vue.js
vue实现轮播图帧率播放
Jan 26 #Vue.js
vue 组件基础知识总结
Jan 26 #Vue.js
You might like
基于PHP常用字符串的总结(待续)
2013/06/07 PHP
PHPMailer发送HTML内容、带附件的邮件实例
2014/07/01 PHP
PHP实现的用户注册表单验证功能简单示例
2019/02/25 PHP
Yii框架中使用PHPExcel的方法分析
2019/07/25 PHP
yii2.0框架多模型操作示例【添加/修改/删除】
2020/04/13 PHP
Javascript开发包大全整理
2006/12/22 Javascript
动态控制Table的js代码
2007/03/07 Javascript
js的写法基础分析
2011/01/17 Javascript
JavaScript自执行闭包的小例子
2013/06/29 Javascript
jquery增加时编辑jqGrid(实例代码)
2013/11/08 Javascript
利用进制转换压缩数字函数分享
2014/01/02 Javascript
关于Bootstrap弹出框无法调用问题的解决办法
2016/03/10 Javascript
半个小时学json(json传递示例)
2016/12/25 Javascript
简单实现bootstrap选项卡效果
2017/02/08 Javascript
canvas绘制多边形
2017/02/24 Javascript
inner join 内联与left join 左联的实例代码
2017/09/18 Javascript
vue绑定事件后获取绑定事件中的this方法
2018/09/15 Javascript
vue实现简易图片左右旋转,上一张,下一张组件案例
2020/07/31 Javascript
[04:03]辉夜杯主赛事 12月25日RECAP精彩回顾
2015/12/26 DOTA
python的绘图工具matplotlib使用实例
2014/07/03 Python
跟老齐学Python之从if开始语句的征程
2014/09/14 Python
python中Flask框架简单入门实例
2015/03/21 Python
Python实现获取域名所用服务器的真实IP
2015/10/25 Python
PyTorch中topk函数的用法详解
2020/01/02 Python
Python解析多帧dicom数据详解
2020/01/13 Python
使用Python实现微信拍一拍功能的思路代码
2020/07/09 Python
使用phonegap获取设备的一些信息方法
2017/03/31 HTML / CSS
Myprotein俄罗斯官网:欧洲第一运动营养品牌
2019/05/05 全球购物
医大实习自我鉴定
2013/12/07 职场文书
爱护公物标语
2014/06/24 职场文书
商场促销活动总结
2014/07/10 职场文书
公司离职证明范本(汇总)
2014/09/10 职场文书
工作后的感想
2015/08/07 职场文书
mysql数据库入门第一步之创建表
2021/05/14 MySQL
详解Python中下划线的5种含义
2021/07/15 Python
解决ubuntu安装软件时,status-code=409报错的问题
2022/12/24 Servers