Jquery图片滚动与幻灯片的实例代码

下面我将详细讲解“Jquery图片滚动与幻灯片的实例代码”的完整攻略。

1. 效果介绍

首先,我们来了解一下实现的效果。本文将介绍两种效果。

1.1 图片滚动效果

图片滚动效果是指图片自动向左(或向右)滚动,当鼠标悬停在图片上时,滚动停止,离开后继续滚动。

1.2 幻灯片效果

幻灯片效果是指图片轮番展示,每张图片停留一段时间后自动切换到下一张。

2. 示例代码

下面为大家提供两条示例代码,分别实现了图片滚动和幻灯片效果。

2.1 图片滚动

<!DOCTYPE html>
<html>
  <head>
    <meta charset="UTF-8">
    <title>图片滚动</title>
    <style type="text/css">
      #scrollBox{
        width: 500px;
        height: 150px;
        overflow: hidden;
        position: relative;
        border: 1px solid #ccc;
      }
      #scrollList{
        width: 5000px;
        height: 150px;
        position: absolute;
        left: 0;
        top: 0;
      }
      #scrollList li{
        width: 500px;
        height: 150px;
        float: left;
      }
    </style>
  </head>
  <body>
    <div id="scrollBox">
      <ul id="scrollList">
        <li><img src="https://picsum.photos/id/1/500/150"></li>
        <li><img src="https://picsum.photos/id/2/500/150"></li>
        <li><img src="https://picsum.photos/id/3/500/150"></li>
        <li><img src="https://picsum.photos/id/4/500/150"></li>
        <li><img src="https://picsum.photos/id/5/500/150"></li>
        <li><img src="https://picsum.photos/id/6/500/150"></li>
        <li><img src="https://picsum.photos/id/7/500/150"></li>
      </ul>
    </div>
    <script type="text/javascript" src="https://cdn.bootcdn.net/ajax/libs/jquery/3.6.0/jquery.min.js"></script>
    <script type="text/javascript">
      $(function(){
        var speed = 50; //图片滚动的速度
        var scrollBox = $("#scrollBox");
        var scrollList = $("#scrollList");
        var cloneBox = scrollList.clone();
        var w = cloneBox.width();
        cloneBox.append(scrollList.clone()); //克隆滚动列表
        scrollBox.append(cloneBox); //将克隆的列表添加到滚动框中
        var timer;
        function roll(){
          if (scrollBox.scrollLeft() >= w) {
            scrollBox.scrollLeft(0);
          } else {
            scrollBox.scrollLeft(scrollBox.scrollLeft() + 1);
          }
        }
        timer = setInterval(roll, speed); //定时器滚动

        //鼠标悬停时,停止滚动;离开时,继续滚动
        scrollBox.hover(function(){
          clearInterval(timer);
        }, function(){
          timer = setInterval(roll, speed);
        });
      });
    </script>
  </body>
</html>

上述代码实现了一个包含7张图片的滚动列表,滚动速度为50。当鼠标悬停在滚动框上时,滚动停止;当鼠标移开时,继续滚动。

2.2 幻灯片

<!DOCTYPE html>
<html>
  <head>
    <meta charset="UTF-8">
    <title>幻灯片</title>
    <style type="text/css">
      #slider{
        width: 500px;
        height: 150px;
        position: relative;
        border: 1px solid #ccc;
      }
      #slider img{
        width: 500px;
        height: 150px;
        position: absolute;
        left: 0;
        top: 0;
        display: none; //初始隐藏第一张图片
      }
      #slider img:first-child{
        display: block; //显示第一张图片
      }
      #slider .dots{
        position: absolute;
        bottom: 10px;
        left: 50%;
        transform: translateX(-50%);
        text-align: center;
      }
      #slider .dot{
        display: inline-block;
        width: 8px;
        height: 8px;
        margin: 0 5px;
        cursor: pointer;
        background: #ccc;
        border-radius: 50%;
      }
      #slider .dot.active{
        background: #f00;
      }
    </style>
  </head>
  <body>
    <div id="slider">
      <img src="https://picsum.photos/id/1/500/150">
      <img src="https://picsum.photos/id/2/500/150">
      <img src="https://picsum.photos/id/3/500/150">
      <img src="https://picsum.photos/id/4/500/150">
      <img src="https://picsum.photos/id/5/500/150">
      <img src="https://picsum.photos/id/6/500/150">
      <img src="https://picsum.photos/id/7/500/150">
      <div class="dots"></div>
    </div>
    <script type="text/javascript" src="https://cdn.bootcdn.net/ajax/libs/jquery/3.6.0/jquery.min.js"></script>
    <script type="text/javascript">
      $(function(){
        var index = 0; //当前显示的图片索引
        var slider = $("#slider");
        var imgList = slider.find("img");
        var dotList = slider.find(".dots");
        var timer;
        //自动切换图片
        function slide(){
          index++;
          if (index >= imgList.length) {
            index = 0;
          }
          imgList.eq(index).fadeIn().siblings().fadeOut();
          dotList.find(".dot").eq(index).addClass("active").siblings().removeClass("active");
        }
        timer = setInterval(slide, 3000); //定时器切换

        //点击圆点切换图片
        dotList.on("click", ".dot" ,function(){
          index = $(this).index();
          imgList.eq(index).fadeIn().siblings().fadeOut();
          $(this).addClass("active").siblings().removeClass("active");
          clearInterval(timer); //清除定时器
          timer = setInterval(slide, 3000); //重新设置定时器
        });
      });
    </script>
  </body>
</html>

上述代码实现了一个包含7张图片的幻灯片,每张图片停留3秒后自动切换到下一张。同时,底部也添加了7个圆点,可通过点击圆点切换图片。

3. 结语

上述是本文对Jquery图片滚动与幻灯片的实例代码的详细讲解,希望能够对大家有所帮助。如有不足之处,请不吝指出。

本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:Jquery图片滚动与幻灯片的实例代码 - Python技术站

(0)
上一篇 2023年6月10日
下一篇 2023年6月10日

相关文章

  • 自制微信公众号一键排版工具

    自制微信公众号一键排版工具攻略 前言 微信公众号的排版对于写作者来说是一项相当耗费时间的任务,它需要精细的排版技巧、良好的样式设计和自然的阅读体验。本文介绍如何自制一款微信公众号一键排版工具,让你的排版过程更加高效和愉悦。 技术实现 我们使用Python的Flask框架编写后台,前端使用Vue框架。具体来说,我们需要实现以下几个步骤: 搭建Flask后台,并…

    css 2023年6月10日
    00
  • 浅析两列自适应布局的3种思路

    针对这个问题,我会按照以下结构将答案完整细致地回答出来: 问题背景介绍 解决问题的前提条件 进行两列自适应布局的3种思路的详细讲解 两条示例说明 总结、注意事项和扩展知识 接下来,我会分别回答每个问题,希望对你有所帮助。 1. 问题背景介绍 两列自适应布局指的是,页面中有两个并列的块级元素,每个块级元素占据页面的一半宽度,而且这两个块级元素的高度可以是自适应…

    css 2023年6月11日
    00
  • 谈一谈bootstrap响应式布局

    Bootstrap是一种流行的CSS框架,具有响应式设计,可以自适应于各种设备。以下是一些关于如何使用Bootstrap进行响应式布局的指南: 什么是响应式布局? 响应式布局是一种能够自适应各种不同的设备和屏幕尺寸的网站布局。传统布局方式是在开发网站时针对特定设备进行设计和开发,但响应式布局能够适应不同的屏幕大小和方向,并且可以为多种设备提供一致的用户体验。…

    css 2023年6月11日
    00
  • CSS 理解盒子模型

    下面是“CSS 理解盒子模型”的完整攻略: 什么是盒子模型? 在HTML中,每一个元素都可以看作是一个矩形的盒子,这个盒子由四个部分组成:内容(content)、内边距(padding)、边框(border)、外边距(margin)。这个盒子就是我们所说的盒子模型。 标准盒子模型和IE盒子模型 在标准盒子模型中,元素的尺寸(width/height)只包括了…

    css 2023年6月9日
    00
  • Vue项目中CSS Modules和Scoped CSS的介绍与区别

    Vue项目中CSS Modules和Scoped CSS都是为了解决CSS命名冲突的问题,但是它们的实现方式不同。 CSS Modules是一种将CSS文件作为模块导入到JavaScript中的方案,通过导入的方式,每个CSS文件都有自己的作用域,避免了命名冲突。当我们使用CSS Modules时,我们需要在Vue组件中使用<style module&…

    css 2023年6月9日
    00
  • 网页HTML代码讲解:有序列表和无序列表

    下面我来为您详细讲解一下关于网页HTML代码中有序列表和无序列表的完整攻略。 什么是列表 在网页中,我们经常需要展示某些具有一定顺序的数据或者信息,这些数据或信息可能需要按照一定规律排列,这时候我们就需要使用到列表。HTML列表可以分为有序列表和无序列表。 无序列表 无序列表是一种无顺序的列表,其中的列表项不按照任何顺序进行排列。在HTML中,我们使用&lt…

    css 2023年6月10日
    00
  • 关于CSS引入方式的详细见解小结

    关于CSS引入方式的详细见解小结,我可以为你做一个完整的攻略,具体步骤如下。 1. 分类 CSS引入方式可分为三种: 内联样式 内嵌样式 外部样式表 2. 详解 2.1 内联样式 内联样式是指将CSS代码直接写在HTML标签的style属性中,在标签内使用style属性即可。 示例: <p style="color:red;"&gt…

    css 2023年6月9日
    00
  • CSS3 实现发光边框特效

    我们来详细讲解一下“CSS3 实现发光边框特效”的完整攻略。 步骤一:首先定义元素 在实现发光边框特效之前,我们需要定义需要实现特效的元素,可以是一个链接、一张图片或是一个容器等等,这里以一个链接为例。 <a href="#" class="glow-border">Example Link</a&g…

    css 2023年6月10日
    00
合作推广
合作推广
分享本页
返回顶部