简单的js制作轮播图

2023-11-05

编辑html代码
使用数据存入图片,操作数据的下标,设定setInterval方法,每隔几秒执行一次

<!DOCTYPE html>
<html>

<head lang="en">
    <meta charset="UTF-8">
    <title> 广告图片轮播切换</title>
    <link rel="stylesheet" href="css/style.css">
    <script src="jquery-3.3.1.min.js"></script>

</head>

<body>
    <div class="adver" onmouseover="over();" onmouseout="out();">
        <ul>
            <li>1</li>
            <li>2</li>
            <li>3</li>
            <li>4</li>
            <li>5</li>
            <li>6</li>
        </ul>
        <div class="arrowLeft">
            <</div>
                <div class="arrowRight">></div>
        </div>
    </div>
    <script>
        //全局变量,用来存储索引
        var imageNum = 1;
        //全局变量用来存储setinterval的方法对象
        var time = null;
        //定义左右按键事件
        function over() {
            $(".arrowLeft,.arrowRight").show();
        }
        function out() {
            $(".arrowLeft,.arrowRight").hide();
        }
        //创建图片数组
        function getImagesStr(num) {
            var imagesStr = new Array();
            for (var i = 0; i < 6; i++) {
                imagesStr[i] = "images/adver0" + (i + 1) + ".jpg";
            }
            return imagesStr[num - 1];
        }
        //设置背景图片,控制全局变量
        function switchIamges(number) {
            if (number <= 0) {
                number = 6
            }
            if (number > 6) {
                number = 1;
            }
            imageNum = number;
            $(".adver").css("background", "url('" + getImagesStr(number) + "')");
            $("li").css({ "backgroundColor": "#333333", "color": "white" });
            $(".adver ul li:eq('" + (number - 1) + "')").css({ "backgroundColor": "#FFA403", "color": "white" });

        }
        $(document).ready(function () {
            //定义左右按键单击事件
            $(".arrowRight").click(function () {
                imageNum++;
                switchIamges(imageNum);
            });
            $(".arrowLeft").click(function () {
                imageNum--;
                switchIamges(imageNum);
            });
            //加载页面就进行动画操作,图片轮流播放
            startImages();
            //定义左右按键事件
            $(".arrowRight").mouseover(function () {
                stopimages();
            });
            $(".arrowRight").mouseout(function () {
                startImages();
            });
            $(".arrowLeft").mouseover(function () {
                stopimages();
            });
            $(".arrowLeft").mouseout(function () {
                startImages();
            });



            //获取数字按钮对象,定义事件
            $(".adver ul li").mouseover(function () {
                stopimages();
                var liNum = $(this).text();
                var vLiNum = parseInt(liNum);
                switchIamges(vLiNum);
            });
            $(".adver ul li").mouseout(function () {
                startImages();
                var liNum = $(this).text();
                var vLiNum = parseInt(liNum);
                switchIamges(vLiNum);
            });
        });




        //图片自动轮播
        function imagesAuto() {
            imageNum++;
            switchIamges(imageNum);
        }
        //定义事件,每隔多少毫秒执行一次
        function startImages() {
            time = setInterval("imagesAuto()", 2000);
        }
        //定义停止事件,调用该方法则停止轮播
        function stopimages() {
            clearInterval(time);
        }
    </script>
</body>

</html>

在这里的数组图片,我只是使用图片名字差不多的图片,进行存入数组,根据图片的名字进行轮播

在这里插入图片描述

对于css,可以随意

只是分享这个思维

提供以后反复看,有效提高对于数组的玩法


2018-10-30更新

<script type="text/javascript">
			/*送餐的起手  */
			Img = new  Array("${AppRootPath}/static/Desk/image/1_1.jpeg","${AppRootPath}/static/Desk/image/1_2.jpeg","${AppRootPath}/static/Desk/image/1_3.jpeg","${AppRootPath}/static/Desk/image/1_4.jpeg","${AppRootPath}/static/Desk/image/1_5.jpeg","${AppRootPath}/static/Desk/image/1_6.jpeg","${AppRootPath}/static/Desk/image/1_7.jpeg","${AppRootPath}/static/Desk/image/1_8.jpeg");
			size = Img.length;
	        i = 0;
	           function chImg(){
	        	            picID.src = Img[i];
	        	            i++;
	        	            if (i>=size) i = 0;
				 }
	        function startSwitch() {
	            time = setInterval("chImg()", 100);
	        }    
	        $(function () {
	            startSwitch();
	            startSwitchp();
	        });
		/* 广告的轮播 */
		Imgp = new  Array("${AppRootPath}/static/Desk/image/shop1.jpg","${AppRootPath}/static/Desk/image/shop2.jpg","${AppRootPath}/static/Desk/image/shop3.jpg","${AppRootPath}/static/Desk/image/shop5.jpg");
		hrefp = new Array("shop?shopId=6","shop?shopId=8","shop?shopId=7","shop?shopId=9");
		sizep = Imgp.length;
     	  f = 0;
             function chImgp(){
	        	            picIDp.src = Imgp[f];
	        				picIDa.href=hrefp[f];
	        	           	f++;
	        	            if (f>=sizep) f = 0;
				 }
          function startSwitchp() {
	            time = setInterval("chImgp()", 2000);
	        }    
</script>

以上有两个动态图的jq代码

先定义一个数组
在这里插入图片描述
之后取得数组的长度
在这里插入图片描述
定义一个变量
在这里插入图片描述
之后再定义一个方法
在这个方法中,使用jq的方法,使用节点的id.节点的属性设置属性的值
在这里插入图片描述
在这里的img[i]获取数组中的值给src.设置src的值
之后i++;
判断i是否大于等于size,就是是否大于数组的长度,为了使图片可以来回轮播.所以设置当i大于等于size的时候,将i的值设置为0,从0开始进行来回轮播

之后再定义一个方法
在这里插入图片描述
在这个方法中,使用了setInterval的方法,表示时隔一段时间执行一次chImg()的方法,
在chImg()中,我在上面也有说明,这里截图整体
在这里插入图片描述

setInterval("chImg()", 100);

这段代码表示每隔0.1秒执行一次上面chImg().因为这里是动画,所以设置时隔时间比较短

之后写入jq的reday()方法中,在页面打开的时候就执行的主入口,

在这里插入图片描述

在这个主入口中的`startSwitchp();方法,

也是一致的.这里我们为了实现点击图片可以查询相关的商家资料,所以我们加入了设置了href的属性,
在这里插入图片描述

也是使用了相同的方法设置节点href的属性值
在这里插入图片描述

也是使用setInterval()的方法设置每隔多少时间执行一次,
`在这里插入图片描述

在这个方法中,在主入口也有加入,所以在打开页面的时候就会执行

在jsp中的代码编写
在这里插入图片描述

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

简单的js制作轮播图 的相关文章

  • 基于opencv的数字识别系统

    一 目的 想要实现的功能 帮助我们在泵中扫描燃油 并在应用程序中输入燃油信息 所需技术 python程序对于拍摄的汽油泵的图像 尝试从中读取数字 opencv实现 先使用python对其进行原型设计 然后将代码转换成C 以在ios应用程序上
  • idea java编译报错_IDEA编译java报错的解决方法

    IDEA编译java报错的解决方法 发布时间 2020 06 26 11 54 16 来源 亿速云 阅读 119 作者 Leah 本篇文章给大家分享的是有关IDEA编译java报错的解决方法 小编觉得挺实用的 因此分享给大家学习 希望大家阅
  • Android Studio设置

    界面设置 默认的 Android Studio 为灰色界面 可以选择使用炫酷的黑色界面 Settings gt Appearance gt Theme 选择 Darcula 主题即可 字体设置 系统字体设置 如果你的Android Stud
  • js对表单序列化、MD5加密、AES加解密、cookie操作的、websocket等常用工具的整合

    在平时写代码中 一些工具会经常用到 但是我每次要用时都是到处去找依赖文件或者重新写方法 这样很麻烦于是为了方便我将一些常用的工具类写在一个js文件中 之后使用直接引入文件就可以了 这里我也拿出来分享给大家 批注 这个工具类中并不完全是本人原
  • 分布式事务:解决方案之2PC理论

    现在我们了解了 分布式事务 三个概念 和 分布式事务 两个理论 以这些为基础 针对不同的分布式场景 业界常见的有四大解决方案 2PC TCC 可靠消息最终一致性 最大努力通知 今天我们先说说2PC这个解决方案 1 什么是2PC 2PC即两阶
  • 关于C++类和对象访问权限的一点思考,类的成员函数访问同类型的对象的私有变量

    在学习拷贝构造函数和重载 号实现深拷贝的时候 发现我们可以在待拷贝对象调用成员函数时 在此成员函数的内部可以直接使用参数对象的私有变量 Class MyNum public MyNum int m int n m Num1 m m Num2
  • 解决Activity中或fragment时,点击手机返回键无效,无法触发onKeyDown

    Activity中或fragment时部分页面点击手机返回键无效 尤其是在页面第一次创建的时候和searchView获取焦点的时候会出现这种情况 那是因为你加载的fragement或Activity中嵌套了searchView控件的问题 虽
  • 年内实现全面自动驾驶?快来恶补一下自动驾驶技术吧

    在7月6日召开的2023世界人工智能大会上 特斯拉CEO斯克预测 随着人工智能技术的快速发展 大约在今年年末 就会实现全面自动驾驶 他说 我之前也做过许多类似的预测 我承认之前的预测也不完全准确 但是这一次的预测 我觉得是比较接近的 不知道
  • IAP 程序 跳转问题

    问题 STM32F407 未加下面 清除所有中断标志位 IAP无法跳转到APP 原因 开了定时器 配置了中断 在执行时为清除中断 导致程序无法跳转 void flash load application uint32 t applicati
  • Django图书商城系统实战开发-实现商品管理

    Django图书商城系统实战开发 实现商品管理 在本教程中 我们将使用Django框架来实现一个简单的图书商城系统 并重点讨论如何实现商品管理功能 此外 我们还将介绍如何使用Markdown格式来写博客 并将其集成到我们的图书商城系统中 介
  • evo安装、evo使用方法详细介绍使用教程,SLAM轨迹精度评估工具,如何用来评估ORB-SLAM2生成的轨迹精度,评估激光雷达SLAM与视觉SLAM的轨迹精度,量化SLAM的误差

    evo在视觉SLAM中是一个极为有用的工具 对于论文党 科研党 工程党都非常有帮助 它可以用于评估SLAM输出的轨迹的精度 可以自动生成均值 方差 轨迹等等信息的图或者表 总之评估SLAM精度用它足以 它目前支持的公开数据集格式有 TUM
  • Python自动化办公:openpyxl教程(进阶)

    在后台回复 阅读书籍 即可获取python相关电子书 Hi 我是山月 之前给大家分享了openpyxl的基础教程 Python自动化办公 openpyxl教程 基础 不知道大家学习的怎么样了 今天给大家分享一下整理了一周的openpyxl进
  • 如何解决非GUI运行Jmeter,jtl文件没有响应数据的解决办法

    一 问题 Jmeter官方一直强调要在非GUI模式下运行Jmeter Run your JMeter test in command line non GUI mode 但在非GUI模式下运行生成的jtl文件是不会记录请求数据和响应数据的
  • cntk 2.5 win10 vs2017 编译(Cpuonly)

    cntk编码风格还是很微软风格的 对于传统老微软程序员来说 研究cntk的代码 应该很有亲切感 51cto上面有李金洪的两个cntk的讲座 其中一个是免费的 这两个讲座都很有价值 两个讲座各4小时 不管是否研读cntk代码 这个视频都会很有
  • 【手拉手 带你准备电赛】使用定时器中断更改PWM占空比

    目录 关于PWM占空比存在的问题及分析 相关问题的解决方案 具体程序设计 注意事项 关于PWM占空比存在的问题及分析 在之前发布的有关占空比的文章中 我们看到输出信号的占空比只能在主函数中的while循环中更改 程序信号模拟图如下所示 这样
  • checked属性 详解

    https www cnblogs com mark5 p 11023851 html 注意 当元素中有checked属性时 其值无论是什么 都是被选中状态 那怎么才能让其不被选中呢 就是用jquery或js代码实现 1 html中的che
  • Dubbo 架构设计概览

    设计图 图示说明 图中左边淡蓝背景的为服务消费方使用的接口 右边淡绿色背景的为服务提供方使用的接口 位于中轴线上的为双方都用到的接口 图中从下至上分为十层 各层均为单向依赖 右边的黑色箭头代表层之间的依赖关系 每一层都可以剥离上层被复用 其
  • Android学习(一)Hello World

    文章目录 Android学习 一 Hello World 1 Android集成开发环境配置 1 1 基础简介 1 2 安装 Android Studio For Mac 2 第一个应用程序Hello World 3 报错处理 3 1 Gr
  • 渗透测试学习笔记

    渗透测试前期准备 环境安装 一 vmware workstation安装 1 vmware workstation Pro 16下载 本鱼的云盘资源 https www aliyundrive com s e7qAgaaPuND 点击链接保

随机推荐

  • Java多线程编程总结

    下面是Java线程系列博文的一个编目 Java线程 概念与原理 Java线程 创建与启动 Java线程 线程栈模型与线程的变量 Java线程 线程状态的转换 Java线程 线程的同步与锁 Java线程 线程的交互 Java线程 线程的调度
  • 【高等数学基础知识篇】——导数与微分

    本文仅用于个人学习记录 使用的教材为汤家凤老师的 高等数学辅导讲义 本文无任何盈利或者赚取个人声望的目的 如有侵权 请联系删除 文章目录 一 导数与微分的基本概念 1 1 导数的基本概念 1 2 微分的基本概念 1 3 连续 可导 可微的关
  • opencv进阶学习笔记1: 调用摄像头用法大全(打开摄像头,打开摄像头并实时不断截屏,读取视频并截图)

    python opencv 用法大全 这里简单介绍下 如何打开摄像头 如何截屏 如何自动实时截屏 如何读取视频文件并截屏 打开摄像头 import cv2 import numpy as np def video demo capture
  • 元组&字典&集合

    元组 概念 和列表相似 本质上是一种有序 的集合 元组和列表的不同之处 1 表示方法 列表 元组 2 列表中的元素可以进行增加和删除操作 但是 元组中的元素不能修改 元素 一旦被初始化 将不能发生改变 3 列表中有一个元素和元组中有一个元素
  • 开环零点与闭环零点对系统的影响

    在STM32 直流电机PI调速中 得到了小电机的传递函数 以这个电机为例展开开环零点与闭环零点对电机响应的影响 系统中极点是影响系统动态性能以及稳定性的主要因素 这里不做赘述 开环零点对系统响应的影响 不含零点 在为什么是PID控制中提到过
  • 大数据基础平台——HBase数据定义操作

    1 实验目的 了解与熟悉HBase关于Namespace的基本指令操作 了解与熟悉HBase关于DDL的基本指令操作 2 实验内容及结果截屏 1 命名空间Namespace 命名空间管理 HBase系统默认定义了两个缺省的namespace
  • 最新整理CVPR、ICCV、ECCV会议及地点

    计算机视觉 Computer Vision CV 是人工智能领域的一个重要研究子领域 随着近年来CV学界研究成果在业界产生的巨大产业影响 计算机视觉受到越来越多的关注 同计算机其他研究领域一样 CV依然有着较浓厚的 会议情节 Compute
  • opencv 各版本 百度网盘

    V3 3 0 2017 9 9号更新 opencv 3 3 0 vc14 exe opencv 3 3 0 ios framework zip IOS opencv 3 3 0 zip Linux Mac opencv 3 3 0 andr
  • Wireshark抓取应用客户端通信域名及IP

    Wireshark是一款非常实用的网络封包分析软件 可简单理解为抓包软件 接下来就利用这款软件来抓取应用软件数据通信的域名及IP地址 一 Wireshark安装 下载地址 https www wireshark org download h
  • IT公司的吉祥“树” 二叉树-(堆)C语言创建

    目录 前言 一 树概念及结构 基本概念 树的专有名词 树的表示 孩子兄弟表示法 二 二叉树概念及结构 概念 现实中的二叉树 又称IT公司的吉祥物 特殊的二叉树 二叉树的性质 二叉树的存储结构 顺序存储 链式存储 三 堆 堆的概念及结构 概念
  • 【华为OD机试c++、python】服务中心选址【 2023 Q1考试题 A卷

    华为OD机试 题目列表 2023Q1 点这里 2023华为OD机试 刷题指南 点这里 题目描述 一家快递公司希望在一条街道建立新的服务中心 公司统计了该街道中所有区域在地图上的位置 并希望能够以此为依据为新的服务中心选址 使服务中心到所有区
  • 插入排序与Shell排序(图解+代码实例)

    排序算法在编写代码的过程当中应用十分广泛 作用非常重要 它的作用就是将一个排序混乱的序列按照一定的规则排列有序 下面一张图基本可以清晰的表示排序算法的分类 今天介绍的插入排序就是每一步都将一个待排数据按其大小插入到已经排序的数据中的适当位置
  • Linux主机与Windows虚拟机之间创建共享文件夹

    Linux主机与Windows虚拟机之间创建共享文件夹 概述 该篇博客是在Linux samba配置的基础上 进行Linux主机与Windows虚拟机之间配置共享文件夹的教程 该博客是在一次实际成功的配置基础上进行总结归纳 以便帮助其他人在
  • BasicDAO 和 SpringDAO的区别

    使用Hibernate生成Java类和映像文件时 可选择生成DAO 类 其中BasicDAO 和SpringDAO 的区别如下
  • 解决错误提示:“Flash Timeour Reset the Target and try it again“或者“Error: Flash Download failed - Cortex-M3

    今天来分享一下前几天在进行烧录时候遇到的一个错误 首先咱们来看一下这个错误提示的内容哈 错误提示 1 Flash Timeour Reset the Target and try it again 2 Error Flash Downloa
  • ctfshow web入门——web6

    解压源码到当前目录 测试正常 收工 访问 www zip 其中有一个fl000g txt 没有直接给flag 到网站上去访问这个文件 最终获得flag
  • 信捷plc编程100例梯形图_PLC梯形图编程基本规则

    由于梯形图是一种程序表示的形式 并非由硬件构成的控制电路 因此在画梯形图时 应注意和普通控制电路的不同之处 plc编程时应该遵循以下基本原则 1 外部输入 输出继电器 内部继电器 定时器 计数器等软器件的逻辑触点可以多次重复使用 无需用复杂
  • SpringBoot 整合QUARTZ 并嵌入可视化界面

    在开发中有很多定时任务都不是写死的而是可以人为配置并且写到数据库中的 下面简单的分享一个SpringBoot整合QUARTZ并嵌入可视化界面的demo Step1 在数据库中建立有关quartz的表 我用的是 mySql 数据库 建表语句如
  • Ubuntu19.04部署kubernetes-master⎈

    文章转载于 https blog csdn net qq 42346414 article details 89949380
  • 简单的js制作轮播图

    编辑html代码 使用数据存入图片 操作数据的下标 设定setInterval方法 每隔几秒执行一次 div class adver div