关于swiper轮播图的实际应用

关于swiper轮播图的实际应用


最近改一个项目需求,要求将一个手机端的网页的轮播图修改成可控的,也就是说多张图片的时候出现轮播效果,一张图片的时候没有轮播效果,还有就是如果这几张轮播图中没有跳转链接的话,那就需要取消掉跳转效果。
不活那么多了直接上代码。

//HTML代码
<div id="main_top">
				<div class="swiper-container">
				    <div class="swiper-wrapper">   	
				    </div>
				    <!-- Add Pagination -->
				    <div class="swiper-pagination"></div>
				 </div>
		</div>
//css
html, body {
		      position: relative;
		      height: 100%;
		    }
		    body {
		      background: #eee;
		      font-family: Helvetica Neue, Helvetica, Arial, sans-serif;
		      font-size: 14px;
		      color:#000;
		      margin: 0;
		      padding: 0;
		    }
		    .swiper-container {
		      width: 100%;
		      height: 100%;
		    }
		    .swiper-slide {
		      text-align: center;
		      font-size: 18px;
		      background: #fff;
		      width:100%;
		     height: 100%;
		      /* Center slide text vertically */
		      display: -webkit-box;
		      display: -ms-flexbox;
		      display: -webkit-flex;
		      display: flex;
		      -webkit-box-pack: center;
		      -ms-flex-pack: center;
		      -webkit-justify-content: center;
		      justify-content: center;
		      -webkit-box-align: center;
		      -ms-flex-align: center;
		      -webkit-align-items: center;
		      align-items: center;
		    }
		    .swiper-slide a,
		    .swiper-slide a img{
		    	width:100%;
		    	height: 100%;
		    	display: block;
		    }

接下来就是最受期待的js代码了。

$(function() {		
	          //从后台请求图片资源
				var lms = tils.common.magesLm.xxxxxx; // 获取栏目
				$.ajax({
					type:'get',
					url:'top/imageList.do',
					dataType:"json",
					data:{
						lm:3032,  //栏目
						cp:'1',     //当前页数
						ps:'20'   //获取条数
					},
					success: function(data){
						let $parent =  $('.swiper-wrapper');  
						var len = data.list.length;				
						for(let i = 0; i < len; i++){                 //获取后台的图片并遍历创建标签添加到页面
							let $slide = $('<div class="swiper-slide"></div>');
							let $img = $('<img src=""  />');
							$img.attr('src',data.list[i].picUrl)
							$img.addClass('main_top_img');
							$img.appendTo($slide)
							$parent.append($slide);
						}

//                  swiper轮播
	            var swiper = new Swiper('.swiper-container', {
			 	    direction : 'horizontal',
			 	    loop : true,   //循环
				    	autoplay: {      //自动切换
						    delay: 3000,
						    stopOnLastSlide: false,
						    disableOnInteraction: false,
						    },  
			    	observer:true,//修改swiper自己或子元素时,自动初始化swiper
					observeParents:true,//修改swiper的父元素时,自动初始化swiper
			        pagination: {       //分页器
			        el: '.swiper-pagination',
			          },
			        })
	            			//如果swiper只有一张图片,不能够滑动它
		         if($(".swiper-container .swiper-slide").length <= 3) {
		         	swiper.destroy(false);
		         	$('.swiper-slide a').attr("href","javascript:;")
		         }
		         //    如果a标签href为空,取消点击效果
						$parent.children(".swiper-slide").each(function(index,el){	
							let $el = $(el).children('a');
							if($el.attr("href") == ''){
								$el.attr("href","javascript:;");
							} 
		})
	            
				},
					error:function(err){
						console.log(err)
					}
					
				})
		
		
			        
			});
  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值