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日

相关文章

  • vue video和vue-video-player实现视频铺满教程

    让我来介绍如何使用Vue Video和Vue-Video-Player在网站中实现视频全屏播放。 第一步是将Vue Video和Vue-Video-Player添加到项目中。您可以使用npm或yarn来完成此操作。在终端中输入以下命令: npm install vue-video@5.0.2 –save npm install vue-video-play…

    css 2023年6月10日
    00
  • 使用CSS连接数据库的方式

    很抱歉,使用CSS连接数据库的方式这个问题不太合理,因为CSS无法直接连接数据库。CSS是层叠样式表(Cascading Style Sheets)的缩写,主要用于网页的排版和样式设计。它是一种描述性语言,不能用于数据的处理和交互。 如果你想在网页中使用数据或连接数据库,需要使用其他编程语言如JavaScript、PHP或Python等,并结合相关的数据库技…

    css 2023年6月9日
    00
  • 前端面试必备之CSS3的新特性

    我来讲解一下。 前端面试必备之CSS3的新特性 1. CSS3的属性选择器 在CSS3中,新增了一些属性选择器,让选择元素更加灵活方便。下面介绍两种常用的属性选择器: 1.1 属性存在选择器 语法:[attribute] 这个选择器可以匹配指定属性的元素。例如: input[type] 这段代码选择所有具有”type”属性的input元素。如果我们想匹配所有…

    css 2023年6月9日
    00
  • 怎么设置editplus字体和背景颜色

    设置EditPlus的字体和背景颜色可以让用户更加舒适地编写代码。下面是详细的步骤。 步骤1:进入Preferences 在EditPlus界面中,点击菜单栏上的“工具”→“Preferences”,或者使用快捷键“Ctrl + ,”来打开“Preferences”设置窗口。 步骤2:进入Font设置 在“Preferences”窗口中,点击左侧的“Font…

    css 2023年6月9日
    00
  • jquery sortable的拖动方法示例详解

    jQuery Sortable 拖动方法示例详解 jQuery Sortable 是一款基于 jQuery 的可拖拽列表插件,它可以轻松实现列表元素的拖动排序。下面我将详细讲解该插件的使用方法,帮助您轻松实现排序效果。 步骤1:引入jQuery Sortable 插件 在网页中引入 jQuery 和 jQuery Sortable 插件的 js 文件,示例如…

    css 2023年6月10日
    00
  • 全面介绍vue 全家桶和项目实例

    全面介绍Vue全家桶与项目实例 什么是Vue全家桶 Vue全家桶指的是一系列由Vue官方提供的插件和工具,为Vue项目提供完整的开发解决方案。其中包括: Vue.js:一个轻量级的前端MVVM框架 Vue Router:用于Vue.js项目的路由管理插件 Vuex:Vue.js应用程序的状态管理库 Vue CLI:Vue.js应用程序的标准工具链 Vue T…

    css 2023年6月9日
    00
  • 理解AngularJs指令

    理解AngularJS指令是掌握AngularJS框架的重要一步。在本篇攻略中,我将向你介绍如何通过实例来深入了解AngularJS指令。以下是步骤: 理解AngularJS指令的基本概念 AngularJS指令是一种特殊的HTML属性,它可以改变HTML元素的行为。指令可以添加新的功能,也可以将HTML元素转化为可重用的组件。 AngularJS指令的语法…

    css 2023年6月9日
    00
  • 详解CSS(层叠样式表)渐进增强

    CSS(层叠样式表)是一种用于描述网页样式的语言,可以用于控制网页的布局、颜色、字体等方面。渐进增强是一种设计理念,即在设计网页时,应该先考虑基本功能的实现,然后再逐步增加高级功能。以下是关于详解CSS(层叠样式表)渐进增强的完整攻略。 步骤一:基本样式 首先,需要定义网页的基本样式,包括布局、颜色、字体等方面。以下是一个示例: body { font-fa…

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