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实现的支持lrc歌词的播放器
May 17 Javascript
Jquery+ajax请求data显示在GridView上(asp.net)
Aug 27 Javascript
jquery的冒泡事件的阻止与允许(三种实现方法)
Feb 01 Javascript
js将控件隐藏的方法及display属性介绍
Jul 04 Javascript
jquery根据锚点offset值实现动画切换
Sep 11 Javascript
js实现div拖动动画运行轨迹效果代码分享
Aug 27 Javascript
js设置和获取自定义属性的方法
Oct 20 Javascript
JavaScript实现自定义媒体播放器方法介绍
Jan 03 Javascript
Vue 项目中遇到的跨域问题及解决方法(后台php)
Mar 28 Javascript
javascript异步编程的六种方式总结
May 17 Javascript
javascript自定义日期比较函数用法示例
Jul 22 Javascript
Node.js API详解之 util模块用法实例分析
May 09 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中的串行化变量和序列化对象
2006/09/05 PHP
apache mysql php 源码编译使用方法
2012/05/03 PHP
解析phpstorm + xdebug 远程断点调试
2013/06/20 PHP
php ajax异步读取rss文档数据
2016/03/29 PHP
Laravel框架实现多个视图共享相同数据的方法详解
2019/07/09 PHP
JQuery,Extjs,YUI,Prototype,Dojo 等JS框架的区别和应用场景简述
2010/04/15 Javascript
{}与function(){}选用空对象{}来存放keyValue
2012/05/23 Javascript
Node.js中Request模块处理HTTP协议请求的基本使用教程
2016/03/31 Javascript
移动端如何用下拉刷新的方式实现上拉加载
2018/12/10 Javascript
详解Ant Design of React的安装和使用方法
2018/12/27 Javascript
基于elementUI使用v-model实现经纬度输入的vue组件
2019/05/12 Javascript
JavaScript实现多张图片放大镜效果示例【不限定图片尺寸,rem单位】
2019/05/14 Javascript
node实现爬虫的几种简易方式
2019/08/22 Javascript
解决vue使用vant下拉框van-dropdown-item 绑定title值不变问题
2020/08/05 Javascript
JS如何监听div的resize事件详解
2020/12/03 Javascript
[02:19]DOTA2女子战队FOX视频专访:希望更多美眉一起加入
2013/10/15 DOTA
python根据距离和时长计算配速示例
2014/02/16 Python
在Heroku云平台上部署Python的Django框架的教程
2015/04/20 Python
Python简单删除目录下文件以及文件夹的方法
2015/05/27 Python
Python中字典的基础知识归纳小结
2015/08/19 Python
python下调用pytesseract识别某网站验证码的实现方法
2016/06/06 Python
Python实现将一个正整数分解质因数的方法分析
2017/12/14 Python
详解Python中where()函数的用法
2018/03/27 Python
centos6.8安装python3.7无法import _ssl的解决方法
2018/09/17 Python
Python如何发布程序的详细教程
2018/10/09 Python
python 求一个列表中所有元素的乘积实例
2019/06/11 Python
python经典趣味24点游戏程序设计
2019/07/26 Python
使用Python生成200个激活码的实现方法
2019/11/22 Python
浅析matlab中imadjust函数
2020/02/27 Python
Python中return函数返回值实例用法
2020/11/19 Python
html5指南-3.如何实现html元素拖拽功能
2013/01/07 HTML / CSS
说一下mysql, oracle等常见数据库的分页实现方案
2012/09/29 面试题
一年级班主任感言
2014/03/08 职场文书
名人演讲稿范文
2014/09/16 职场文书
家庭贫困证明
2015/06/16 职场文书
新闻稿标题
2015/07/18 职场文书