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

Swiper4.x使用之图片只有一张时不进行轮播,多张才进行轮播

回想初学JavaScript时,写一个图片的轮播;那是写得惨不忍睹。现在我们再去写图片轮播的话;用Swiper(官网:https://www.swiper.com.cn)分分钟就弄好了。
但是老大又提新的需求:图片只有一张时就不进行轮播,多张才进行轮播?

  • 分析需求
    1. 把图片路径存放在数组中, 循环遍历数组;取出追加到页面
  • 具体实现
    1. html代码
<!DOCTYPE html>
<html>
	<head>
		 <meta charset="UTF-8">
   		<meta content="width=device-width, initial-scale=1.0, maximum-scale=1.0, user-scalable=no;" name="viewport" />
    	<meta content="yes" name="apple-mobile-web-app-capable"/>
    	<meta content="black" name="apple-mobile-web-app-status-bar-style"/>
    	<meta name='keywords' content=''/>
    	<meta name='description' content=''/>
    	<link rel='stylesheet' href='css/layout.css'>
    	<link rel='stylesheet' href='css/swiper.css'>	
    	<title>test</title>
	</head>
	<body>
		<div class="main">
			<div class="swiper-container">
				<!-- 用于计算有几张照片 -->
				<input type="hidden" id="imgNumber" value=""/>
				<div class="swiper-wrapper" id="topSlides">
					<!--<div class="swiper-slide"><img src="images/banner.png"></div>
					<div class="swiper-slide"><img src="images/banner.png"></div>-->
				</div>
				<!-- 如果需要分页器 -->
				<div class="swiper-pagination swiper-pagination-bullets"></div>	
				
				<!-- 如果需要导航按钮 -->
				<div class="swiper-button-prev"></div>
				<div class="swiper-button-next"></div>
    
				<!-- 如果需要滚动条 -->
				<!--<div class="swiper-scrollbar"></div>-->
			</div>
			<h6><a href="https://www.swiper.com.cn/usage/index.html">Swiper4.x使用方法</a></h6>
		</div>
	</body>
</html>
<script src="js/jquery.1.11.1.js"></script>
<script src="js/swiper.min.js"></script>
<script src="js/swiperController.js"></script>
<script>
	$(function(){
 var swiper = new Swiper('.swiper-container', {
	 
	 //分页器
      pagination: {
        el: '.swiper-pagination',
      },
	  
	   // 如果需要前进后退按钮
	navigation: {
      nextEl: '.swiper-button-next',
      prevEl: '.swiper-button-prev',
    },
    
    // 如果需要滚动条
    /*scrollbar: {
      el: '.swiper-scrollbar',
    },*/
	
    autoplay:{
        stopOnLastSlide:false	
      }
    });
 
 //获取隐藏的input标签中的值
 var number = $("#imgNumber").val();
 if(number == 1) {
	//一张图片则隐藏锚节点 
	$(".swiper-pagination-bullets > span").css("display","none");
 }
});
</script>
  1. JavaScript代码(swiperController.js)
//图片滑块控制器
$(function() {
	// 设置图片
	function setImages(){
		// var nowHtml = $(".swiper-wrapper").html();
		var newHtml = "";
		for (var k = 0; k < images.length; k++) {
			newHtml += images[k];
		}
		$("#topSlides").html(newHtml);
		$("#imgNumber").val(images.length);//设置图片数量
	}
	
	//动态设置活动图片及URL
	var images = [
			'<div class="swiper-slide"><img src="images/banner.png"></div>',
			'<div class="swiper-slide"><img src="images/banner.png"></div>',
			'<div class="swiper-slide"><img src="images/banner.png"></div>'
			];

	
	setImages(); //如需替换默认图片,调用此方法
	
	var imgNumber = $("#imgNumber").val();// 获取滑块当前图片数量
	if (imgNumber > 1) {
		// 滚动效果
		var swiperwflb = new Swiper('.no_lb', {
			autoplay : 3000,
			pagination : '.dian',
			paginationClickable : true,
			autoplayDisableOnInteraction : false,
			// 若只有一个的时候不让左右切换,就将loop的值变为false,若多个需要循环值为:true,
			loop : true
		});
	} else {
		var swiperwflb = new Swiper('.no_lb', {
			autoplay : 3000,
			pagination : '.dian',
			paginationClickable : true,
			autoplayDisableOnInteraction : false,
			// 若只有一个的时候不让左右切换,就将loop的值变为false,若多个需要循环值为:true,
			loop : false
		});
	}
});

相关文章:

  • [LeetCode] 178. 分数排名
  • MySQL下载安装教程和修改密码(亲测有用)
  • 免费的外网映射工具Ngrok 国内版,满足基本的开发测试需求
  • 阿里云申请免费SSL证书-阿里云云盾证书 - Digicert+Symantec 免费型DV SSL
  • Nginx上配置SSL证书
  • Nginx配置SSL证书实现HTTPS访问
  • Spring Boot 入门
  • SpringBoot2整合Thymele时,静态资源加载不出来
  • SpringBoot使用jdbc数据访问时遇到的问题
  • VirtualBox虚拟机中CentOS 7的网络配置
  • docker部署mysql 并实现远程连接(navicat)
  • Mysql 8.0.13 安装和卸载教程(windows10)
  • django把SQLite数据库的数据导入到MySQL数据库中
  • 采用Nginx+uWSGI部署Django项目
  • Hexo Next主题中集成gitalk评论系统
  • go append函数以及写入
  • Hexo+码云+git快速搭建免费的静态Blog
  • JavaScript HTML DOM
  • JavaScript 是如何工作的:WebRTC 和对等网络的机制!
  • Mithril.js 入门介绍
  • PHP 的 SAPI 是个什么东西
  • PHP面试之三:MySQL数据库
  • scrapy学习之路4(itemloder的使用)
  • SpringBoot几种定时任务的实现方式
  • Terraform入门 - 1. 安装Terraform
  • 用Node EJS写一个爬虫脚本每天定时给心爱的她发一封暖心邮件
  • 这几个编码小技巧将令你 PHP 代码更加简洁
  • 7行Python代码的人脸识别
  • ​Linux Ubuntu环境下使用docker构建spark运行环境(超级详细)
  • #AngularJS#$sce.trustAsResourceUrl
  • #stm32整理(一)flash读写
  • #设计模式#4.6 Flyweight(享元) 对象结构型模式
  • #我与Java虚拟机的故事#连载16:打开Java世界大门的钥匙
  • (01)ORB-SLAM2源码无死角解析-(66) BA优化(g2o)→闭环线程:Optimizer::GlobalBundleAdjustemnt→全局优化
  • (1/2)敏捷实践指南 Agile Practice Guide ([美] Project Management institute 著)
  • (30)数组元素和与数字和的绝对差
  • (floyd+补集) poj 3275
  • (大众金融)SQL server面试题(1)-总销售量最少的3个型号的车及其总销售量
  • (二)WCF的Binding模型
  • (非本人原创)我们工作到底是为了什么?​——HP大中华区总裁孙振耀退休感言(r4笔记第60天)...
  • (附源码)ssm户外用品商城 毕业设计 112346
  • (剑指Offer)面试题34:丑数
  • (每日持续更新)jdk api之FileFilter基础、应用、实战
  • (七)Knockout 创建自定义绑定
  • (提供数据集下载)基于大语言模型LangChain与ChatGLM3-6B本地知识库调优:数据集优化、参数调整、Prompt提示词优化实战
  • (一)C语言之入门:使用Visual Studio Community 2022运行hello world
  • (中等) HDU 4370 0 or 1,建模+Dijkstra。
  • (转)chrome浏览器收藏夹(书签)的导出与导入
  • .bat批处理(五):遍历指定目录下资源文件并更新
  • .NET Core WebAPI中使用swagger版本控制,添加注释
  • .net core使用ef 6
  • .Net FrameWork总结
  • .net php 通信,flash与asp/php/asp.net通信的方法
  • .NET 使用 XPath 来读写 XML 文件
  • .Net+SQL Server企业应用性能优化笔记4——精确查找瓶颈