swiper (Table切换和动态加载时候出现的问题)
本文为让心灵-去旅行原创,转载请说明.。
我们在写一个简单的swiper图片轮播的时候很简单,是写死的也就那么几张图片轮播。如果这时候图片和一些东西是后台的,你从js里动态添加到DOM时,这时候你就会发现各种问题。比如轮播图不动,无法滑动。下面的指示小圆点变得混乱了。等等。其实这些都是swiper的渲染问题,因为简单的swiper页面是静态的,资源数稳定的。当产生变化时,swiper需要重新渲染才行,不然就会出现问题。那么怎么解决呢,最简单的办法就是在ajax成功接收后台数据时我们开始渲染调用swiper函数;
例:
function showSlider(data){ var data = eval(data); //这是动态添加数据
var str="";
for(var i =0;i<data.lunbos.length;i++){
str+="<div class='swiper-slide'>"+
"<a class='lunbotu1' href='newsDetail.html?id="+data.lunbos[i].link_url+"'>"+
"<img class='sw_img' src='"+data.lunbos[i].img_url+"' alt=''>"+
"</a>"+
"<p class='swiper_P'>"+data.lunbos[i].desc+"</p>"+
"</div>";
};
$('.addin_slider').append(str); //添加完以后就可以调用swiper了 哦了
var mySwiper = new Swiper('.swiper_one', {
// direction: 'vertical',
loop: true,
autoplay : 2000,
// 如果需要分页器
pagination: '.swiper-pagination',
});
};
2.table切换下的swiper问题
当你做一个可以切换的table并且切换的div里包括着两个或者n个轮播。这时候将swiper依次放进去的时候你会发现 左右滑动有问题,第一个是好的,从第一个以后的swiper都是乱的,我是将swiper的调用一起写在了切换的函数里这样就解决了乱的问题,因为切换的时候重新调用了一下。后来发现这样做每次切换就调用函数重新渲染这样很消耗资源和内存。最简单的方法我贴在下面吧.
var mySwiper = new Swiper('.swiper_4', {
slidesPerView: 1,
spaceBetween: 20,
autoplay: 2000,
// 如果需要前进后退按钮
// nextButton: '.swiper-button-next',
// prevButton: '.swiper-button-prev',
pagination: '.swiper-pagination',
observer:true,//修改swiper自己或子元素时,自动初始化swiper
observeParents:true,//修改swiper的父元素时,自动初始化swiper
onSlideChangeEnd: function(swiper){
swiper.update(); //swiper更新
}
});
很简单你拿去复制粘贴就可以用了,不过函数名字要改一下。
swiper (Table切换和动态加载时候出现的问题)的更多相关文章
- [转]bootstrap的table插件动态加载表头
原文地址:https://blog.csdn.net/abubu123/article/details/78060321 bootstrap的table属性已经很熟悉了,最近遇到一个问题,犹豫每个列表 ...
- bootstrap table插件动态加载表头
这篇文章主要为大家详细介绍了bootstrap table插件动态加载表头,具有一定的参考价值,感兴趣的小伙伴们可以参考一下 bootstrap的table属性已经很熟悉了,最近遇到一个问题,犹豫 ...
- vue 实现tab切换动态加载不同的组件
vue 实现tab切换动态加载不同的组件 使用vue中的is特性来加载不同的组件.具体看如下代码:这个功能对于vue比较复杂的页面可以使用上,可以把一个页面的功能拆分出来,使代码更简单.使用方式具体看 ...
- 解决问题:swiper动态加载图片后无法滑动
原因:swiper在初始化的时候会扫描swiper-wrapper下面的swiper-slide的个数,从而完成初始化,但是由于动态加载时在初始化之后的动作,所以导致无法滑动. 解决方案 1:在动态获 ...
- WPF 界面实现多语言支持 中英文切换 动态加载资源字典
1.使用资源字典,首先新建两个字典文件en-us.xaml.zh-cn.xaml.定义中英文的字符串在这里面[注意:添加xmlns:s="clr-namespace:System;assem ...
- 动态加载swiper,默认显示最后一个swiper-slide解决方案???
问题描述: 用ajax动态加载swiper-slide以后,由于我是自适应屏幕的尺寸来决定一屏显示多少图片,所以加了 slidesPerView:'auto'这条属性,加了这条属性过后,每次刷新页面的 ...
- Swiper 轮播插件 之 动态加载无法滑动
1.原因:轮播图未完全动态加载完成,即初始化 2.方法一:ajax链式编程 $.ajax({ type: "get", url: serviceURL + "/listB ...
- 044. asp.net主题之三应用或禁用主题和动态加载主题
1.为单个页面指定主题可以将@Page指令的Theme或StyleSheetTheme属性设置为要使用的主题名称, 代码如下: <%@ Page Theme ="MyTheme&quo ...
- Xib设计UITableViewCell然后动态加载
转自: http://www.2cto.com/kf/201202/120764.html (注:环境Mac OS X Lion 10.7.3 + Xcode 4.2.1 + iOS SDK 5.0. ...
随机推荐
- InnoDB事务日志(redo log 和 undo log)详解
数据库通常借助日志来实现事务,常见的有undo log.redo log,undo/redo log都能保证事务特性,undolog实现事务原子性,redolog实现事务的持久性. 为了最大程度避免数 ...
- java.lang - 不用import
java.lang包是java语言的核心,它提供了java中的基础类.包括基本Object类.Class类.String类.基本类型的包装类.基本的数学类等等最基本的类.我们介绍一下Java 8中的j ...
- Day21-模板之继承
一,模板之继承 1.在template下面新建一个master.html的文件,当做母版. 2. 母版里需要被替代的部分,以block开始,以endblock结尾 {% block content % ...
- redis分布式(主从复制)
Redis主从复制配置和使用都非常简单.通过主从复制可以允许多个slave server拥有和master server相同的数据库副本. Redis的复制原理:本身就是Master发送数据给s ...
- 【ST】【CF855B】 Marvolo Gaunt's Ring
传送门 Description 给定三个数 \(p~,~q~,~r~\),以及一个数组 \(a\), 找出三个数 \(i~,~j~,~k\) ,其中 \(i~\leq~j~\leq~k\) 最大化 \ ...
- 配置ntpd时钟同步服务
ntpd时钟同步服务 目录 参考: CentOS配置时间同步NTP: http://www.crsay.com/wiki/wiki.php/server/centos/ntp-set 解决ntp的错误 ...
- OpenCV---直方图的应用(均衡化和图像比较)
一:全局直方图均衡化(对比度增强)equalizeHist def equalHist_demo(image): #OpenCV直方图均衡化都是基于灰度图像 gray = cv.cvtColor(im ...
- python---websocket的使用
一:简介 推文:WebSocket 是什么原理?为什么可以实现持久连接? 推文:WebSocket:5分钟从入门到精通(很好) WebSocket协议是基于TCP的一种新的协议.WebSocket最初 ...
- nodejs文件压缩-使用gulp命令(安装过程)
为了代码安全问题,一般发布程序的时候需要将js代码进行压缩,记录一下安装流程.避免忘记. 安装插件
- 介绍 JSON (转)
本文转自:http://www.json.org/json-zh.html JSON(JavaScript Object Notation) 是一种轻量级的数据交换格式. 易于人阅读和编写.同时也易于 ...