当前位置: 首页 > news >正文

基于jQuery轮播carousel.js(轻量化-企业级)

概要

轮播(走马灯)在网站开发中几乎是必不可少的,网上也有许多的相关插件,比如说swiper就是一个很大型的轮播插件,还有许多UI框架中也是封装了自己的swiper。

在做开发的时候,有时候考虑到网站的性能优化,可能不想去引入第三方的插件,不是说第三方插件不好,而是第三方插件就是太好了,功能太齐全,同时增加了代码的重量。所以在大型jQuery项目中,可以使用自己封装的更轻量插件,这样保证质量的同时,还能保证加载更快。

基于jQuery超轻量轮播carousel.js,就具有满足大型项目、轻量等特点。

carousel.js的git下载地址:https://gitee.com/my_dear_li_pan/carousel_light_20220225.git

注意: 下载地址中包括完整的使用案例,可以下载直接运行使用。

结果展示

image

使用说明

  • 引入jQuery
  • 引入carousel.js
  • 直接调用
  • 使用案例可直接拷贝下来使用,注意引入插件的路径是否正确。
<script src="plgin/jquery/jquery.min.js" type="text/javascript" charset="utf-8"></script>
<script src="utils/carousel.js" type="text/javascript" charset="utf-8"></script>
<script type="text/javascript">
	util_carousel({
		items: '.carousel ul.list li',
		indicators: '.carousel ol.indicators li a',
		prev: '.carousel a.control-prev',
		next: '.carousel a.control-next',
		delay: 5000,
		auto: false
	})
</script>
名称类型是否必填默认值可选值说明
itemsString-轮播的对象
indicatorsString--轮播指示器对象
prevString--切换(左)
nextString--切换(右)
delayNumber3000(毫秒)-播放的时间
autoBooleantruetrue/false是否自动播放

使用案例

<!DOCTYPE html>
<html>
	<head>
		<meta charset="utf-8">
		<title>轻量轮播</title>
		<style type="text/css">
			* {
				padding: 0;
				margin: 0;
			}

			.carousel {
				position: relative;
				width: 100%;
				height: 400px;
			}

			.carousel ol.indicators {
				position: absolute;
				bottom: 25px;
				left: 50%;
				z-index: 15;
				width: 60%;
				margin-left: -30%;
				padding-left: 0;
				list-style: none;
				text-align: center;
			}

			.carousel ol.indicators li {
				display: inline-block;
				_zoom: 1;
				*display: inline;
				padding: 0 4px;
			}

			.carousel ol.indicators li a {
				display: inline-block;
				width: 10px;
				height: 10px;
				border-radius: 5px;
				background-color: rgba(0, 0, 0, .3);
			}

			.carousel ol.indicators li a.active {
				width: 16px;
				background-color: #FFFFFF;
			}

			.carousel .inner {
				position: relative;
				overflow: hidden;
				width: 100%;
				height: 100%;
			}

			.carousel .inner ul.list {
				position: absolute;
				width: 100%;
				height: 100%;
				overflow: hidden;
			}

			.carousel .inner ul.list li {
				display: none;
				position: absolute;
				top: 0;
				left: 0;
				width: 100%;
				height: 100%;
			}

			.carousel .inner ul.list li.active {
				display: block;
			}

			.carousel .inner ul.list li>a {
				display: block;
				width: 100%;
				height: 100%;
				text-align: center;
			}

			.carousel .inner ul.list li>a>img {
				height: 100%;
			}

			.carousel a.control-prev,
			.carousel a.control-next {
				display: none;
				position: absolute;
				top: 160px;
				width: 30px;
				height: 50px;
				opacity: 0.8;
				filter: alpha(opacity=80);
				border-radius: 2px;
			}

			.carousel a.control-prev {
				left: 20px;
				background: rgba(0, 0, 0, .2) url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABoAAAAaCAMAAACelLz8AAAAPFBMVEUAAADYSWgTAAAAE3RSTlMAVUHaf0337+ihkmo4MeKGdl4rP/m6CwAAAERJREFUKM/l0ikSACEMBdGEYdh37n9XJOqnCixtn206iTWUyc+LgkLj84TKogVoqQjmKjTlNDbbBIvQfiNZxzb5YrbdAr8CAhFr2gYnAAAAAElFTkSuQmCC) no-repeat center center;
			}

			.carousel a.control-next {
				right: 20px;
				background: rgba(0, 0, 0, .2) url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABoAAAAaCAMAAACelLz8AAAAPFBMVEUAAADYSWgTAAAAE3RSTlMAVUHafy/37+ihkmpPOOKGdl5J/zZOlgAAAEJJREFUKM/t0rcNACEAQ9HjyDntvysL8IXocfsay/J3jhJIYj7b20/kpb6WwFIySHUkylG5Zkkiixkg3SScBwTOhlmmrAIRrqFR6AAAAABJRU5ErkJggg==) no-repeat center center;
			}
		</style>
	</head>
	<body>
		<div class="carousel">
			<ol class="indicators">
				<li>
					<a href="javascript:;" data-carousel-to="0" class="active"></a>
				</li>
				<li>
					<a href="javascript:;" data-carousel-to="1"></a>
				</li>
				<li>
					<a href="javascript:;" data-carousel-to="2"></a>
				</li>
			</ol>
			<div class="inner">
				<ul class="list">
					<li class="active">
						<a href="#">
							<img class="lazy"
								src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAEAAAABAQMAAAAl21bKAAAAA1BMVEUAAACnej3aAAAAAXRSTlMAQObYZgAAAApJREFUCNdjYAAAAAIAAeIhvDMAAAAASUVORK5CYII="
								data-src="https://via.placeholder.com/1920x460.png/ff0000">
						</a>
					</li>
					<li>
						<a href="#">
							<img class="lazy"
								src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAEAAAABAQMAAAAl21bKAAAAA1BMVEUAAACnej3aAAAAAXRSTlMAQObYZgAAAApJREFUCNdjYAAAAAIAAeIhvDMAAAAASUVORK5CYII="
								data-src="https://via.placeholder.com/1920x460.png/FFEB34">
						</a>
					</li>
					<li>
						<a href="#">
							<img class="lazy"
								src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAEAAAABAQMAAAAl21bKAAAAA1BMVEUAAACnej3aAAAAAXRSTlMAQObYZgAAAApJREFUCNdjYAAAAAIAAeIhvDMAAAAASUVORK5CYII="
								data-src="https://via.placeholder.com/1920x460.png/2878ff">
						</a>
					</li>
				</ul>
			</div>
			<a class="control-prev" href="javascript:;"></a>
			<a class="control-next" href="javascript:;"></a>
		</div>
		<script src="plgin/jquery/jquery.min.js" type="text/javascript" charset="utf-8"></script>
		<script src="utils/carousel.js" type="text/javascript" charset="utf-8"></script>
		<script type="text/javascript">
			util_carousel({
				items: '.carousel ul.list li',
				indicators: '.carousel ol.indicators li a',
				prev: '.carousel a.control-prev',
				next: '.carousel a.control-next',
				delay: 5000
			})
		</script>
	</body>
</html>

Tips

  • 基于jQuery,必须先引入jQuery插件。
  • 本插件适用于左右轮播需求。
  • 如果需要其他轮播方式,可以到carousel.js中扩展。

----- 看完啦别忘记点赞哟,您的肯定就是对我最大的支持 END -----


关注我,不迷路

如果任何疑问的可以在评论区留言,还可以加QQ群交流:568984539,加群备注‘地区-名字-技术类型’。

更多前端等相关知识可关注我个人博客:https://blog.csdn.net/qq_42961150?spm=1011.2124.3001.5343

相关文章:

  • uniapp开发:uniapp之vue3.2获取节点信息的差异
  • jq实现拖拽功能-解决滚动条引起的偏差
  • JavaScript类型识别
  • 前端页面跳转的6大类方法及其使用场景特性分析
  • [saiku] olap数据源管理
  • uniapp开发:瀑布流 灵活配置 简单易用 兼容vue2vue3小程序、H5、app等多端
  • Chrome浏览器使用Overrides调试线上代码的技巧
  • js查找json数据中的最大值和最小值方法集结
  • CSS3 Border-color
  • uniapp+unicloud开发微信小程序流程
  • 微信小程序解决saveImageToPhotosAlbum:fail invalid file type
  • Cacti 不出图像的解决办法(完整版)
  • 我的CSDN博客、UNI技术成长之路
  • websoket封装版 参数配置化 开箱即用
  • h5页面js监听页面失去焦点、获取焦点
  • [PHP内核探索]PHP中的哈希表
  • 2019年如何成为全栈工程师?
  • ComponentOne 2017 V2版本正式发布
  • Docker 笔记(1):介绍、镜像、容器及其基本操作
  • gitlab-ci配置详解(一)
  • Golang-长连接-状态推送
  • java2019面试题北京
  • js如何打印object对象
  • Laravel 中的一个后期静态绑定
  • Linux gpio口使用方法
  • PAT A1017 优先队列
  • PAT A1120
  • puppeteer stop redirect 的正确姿势及 net::ERR_FAILED 的解决
  • 初探 Vue 生命周期和钩子函数
  • 高度不固定时垂直居中
  • 给初学者:JavaScript 中数组操作注意点
  • 前端每日实战:61# 视频演示如何用纯 CSS 创作一只咖啡壶
  • 数据科学 第 3 章 11 字符串处理
  • 新书推荐|Windows黑客编程技术详解
  • 一起参Ember.js讨论、问答社区。
  • 一天一个设计模式之JS实现——适配器模式
  • [Shell 脚本] 备份网站文件至OSS服务(纯shell脚本无sdk) ...
  • 数据库巡检项
  • ​什么是bug?bug的源头在哪里?
  • # 20155222 2016-2017-2 《Java程序设计》第5周学习总结
  • #pragam once 和 #ifndef 预编译头
  • #stm32驱动外设模块总结w5500模块
  • (阿里巴巴 dubbo,有数据库,可执行 )dubbo zookeeper spring demo
  • (附源码)SSM环卫人员管理平台 计算机毕设36412
  • (接口自动化)Python3操作MySQL数据库
  • (全部习题答案)研究生英语读写教程基础级教师用书PDF|| 研究生英语读写教程提高级教师用书PDF
  • (十二)springboot实战——SSE服务推送事件案例实现
  • (实战篇)如何缓存数据
  • (四)TensorRT | 基于 GPU 端的 Python 推理
  • (转)mysql使用Navicat 导出和导入数据库
  • ******之网络***——物理***
  • ./configure、make、make install 命令
  • .NET : 在VS2008中计算代码度量值
  • .net framework 4.0中如何 输出 form 的name属性。
  • .NET Project Open Day(2011.11.13)