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. ...
随机推荐
- java.lang - 不用import
java.lang包是java语言的核心,它提供了java中的基础类.包括基本Object类.Class类.String类.基本类型的包装类.基本的数学类等等最基本的类.我们介绍一下Java 8中的j ...
- Zebras CodeForces - 950C(思维)
借鉴自: https://www.cnblogs.com/SuuT/p/8619227.html https://blog.csdn.net/my_sunshine26/article/details ...
- 20165218 实验二 Java面向对象程序设计
实验二 Java面向对象程序设计 课程:java程序设计 姓名:赵冰雨 学号:20165218 指导教师:娄嘉鹏 实验日期:2018.4.16 实验密级:Java开发环境的熟悉 实验内容.步骤与体会: ...
- 解题:USACO06DEC Milk Patterns
题面 初见SA 用了一个常见的按$height$分组的操作:二分答案,然后按$height$分组,遇到一个$height$小于$mid$的就丢进下一组并更新答案,如果最多的那组不少于$k$个说明可行 ...
- Android NDK 编译选项设置[zhuan]
http://crash.163.com/#news/!newsId=24 在Android NDK开发中,有两个重要的文件:Android.mk和Application.mk,各尽其责,指导编译器如 ...
- 认识Java标识符
标识符定义 认识Java标识符 在编程语言中,标识符就是程序员自己规定的具有特定含义的词,比如类名称,属性名称,变量名等. 问:标识符是神马? 答:标识符就是用于给 Java 程序中变量.类.方法等命 ...
- hihocoder 1580 dp最大子矩阵和
题意: 给出n*m的矩阵求最大子矩阵和,要求必须把矩阵中的某一个元素替换成p 代码: //求最大子矩阵和,容易想到压缩之后dp但是这道题要求必须替换一次p,必然优先替换最小的. //这样如果求得的结果 ...
- SpringBoot (六) :如何优雅的使用 mybatis
原文出处: 纯洁的微笑 这两天启动了一个新项目因为项目组成员一直都使用的是mybatis,虽然个人比较喜欢jpa这种极简的模式,但是为了项目保持统一性技术选型还是定了 mybatis.到网上找了一下关 ...
- XML签名Cannot resolve element with ID XXXX 解决方案
最近同银行做接口联调,需要对XML文件做加签和解签操作,本地的开发环境是Mac 10.10,JDK的版本是1.6.0.65.小小的一段加签代码,一直报错,却久久也找不到解决方法,网上的资料非常少,错误 ...
- [应用篇]第五篇 JSTL之fmt标签日期和数字格式化
fmt标签个人用的比较少,但是我还是在这里简单的留一下笔记,也是算是学习了一下!这样方便你们课设的时候能用的上,要学会进步的学习,不要停留! 引入该标签库的方法为: <%@ taglib pre ...