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. ...
随机推荐
- [AT2363] [agc012_c] Tautonym Puzzle
题目链接 AtCoder:https://agc012.contest.atcoder.jp/tasks/agc012_c 洛谷:https://www.luogu.org/problemnew/sh ...
- 【hdu6093】Rikka with Number
多校第五場的題. 首先是一個好數只在某個進制下,不會是在兩個進制下都爲好數. 另外每個進制好數的個數爲d!-(d-1)!,因爲要保證第一位不爲0. 然後就是在臨界進制下有多少個好數的問題,可以變成兩個 ...
- 【HDU4689】Derangement(动态规划)
[HDU4689]Derangement(动态规划) 题面 Vjudge 给定一个\(+-\)组成的字符串,长度为\(n\). 如果第\(i\)位是\(+\),那么\(p_i>i\),否则\(p ...
- python基础----元类metaclass
1 引子 class Foo: pass f1=Foo() #f1是通过Foo类实例化的对象 python中一切皆是对象,类本身也是一个对象,当使用关键字class的时候,python解释器在加载cl ...
- Codeforces Round #336 (Div. 2)B 暴力 C dp D 区间dp
B. Hamming Distance Sum time limit per test 2 seconds memory limit per test 256 megabytes input stan ...
- 如何在Linux系统上安装QQ
转载自KKK博客 首先我们需要在wine的官网上安装一个wine. https://wiki.winehq.org/Ubuntu_zhcn 按照上面的提示一步步来,做完之后点下面的链接下载 https ...
- lldb和gdb命令映射
http://note.youdao.com/noteshare?id=45b6171a4a846f6b95db7d8211fbfb9c
- 000. 规范类的设计(ing)
1.变量命名规范 变量命名有许多约定俗成的规范,下面的这些规范能有效提高程序的可读性: 标识符要能体现实际含义(顾名思义). 变量名一般用小写字母,如index,不要使用Index或INDEX. 用户 ...
- rar 解压
三.rar命令语法 将/etc 目录压缩为etc.rar 命令为: rar a etc.rar /etc 1 将etc.rar 解压 命令为: rar x etc.rar unrar -e etc.t ...
- c语言时间计算
C语言使用time_t结构体表示时间戳,它本质上是个long类型. 我们可以使用如下函数获取当前时间的时间戳: time_t time(time_t* timer) 函数功能:得到从标准计时点(一般是 ...