IE9下Swiper控件不能准确定位到指定页面问题的解决
来源:互联网 发布:淘宝上怎么换货流程 编辑:程序博客网 时间:2024/05/21 09:38
应用场景:
采用轮播控件对表格中的图片文件进行展示,当点击表格中的图片文件时,使用轮播控件(Swiper)显示指定的图片,同时,可以左右翻页,前后浏览所有的图片。
实现思路:
(1)使用JS创建Swiper的躯干(Swiper相当于灵魂,灵魂必须依附肉体才能起作用)。
__createPreviewHtml: function(){ if($('#__sc1').length>0) return; var html = '<div id="__sc1" class="swiper-container" style="z-index:9999;">' + '<a href="javascript:void(0);" id="__sc_closeBtn" class="closeBtn" title="close"> X </a>' + '<div class="swiper-wrapper"> ' + '</div> ' + '<div class="swiper-pagination"></div>' + '<div class="swiper-button-prev"></div>' + '<div class="swiper-button-next"></div>' + '</div>'; $(document.body).append(html); $('#__sc_closeBtn').on('click',this.__hidePreviewBox); }
(2)遍历表格中的图片文件,并塞入Swiper的躯干,获取点击图片文件的索引号(index),URL(通过文件ID唯一标识)。
var index = 0; var i = 0; me._grid.findRow(function(row){ var fileId2 = row.fileId; var fileName2 = row.fileName.toLowerCase(); if(fileName2 && imgReg.test(fileName2)==true){ if(fileId == fileId2){ index = i; } var picParam = me.fileService + "/preview?fileId=" + encodeURIComponent(fileId2); var imgHtml = '<img src="' + picParam + '"/>'; var $slide = $('<div class="swiper-slide">' + imgHtml + '</div>'); $('.swiper-wrapper').append($slide); i++; } }); if(typeof(mySwiper) != 'undefined'){ mySwiper.removeAllSlides(); }
(3)创建Swiper控件,同时使用Swiper的slideTo(index)方法定位到指定的位置,显示图片。
$(document).ready(function () { mySwiper = new Swiper ('#__sc1', { paginationClickable: true, initialSlide: 0, observer: true, observeParents: true, direction: 'horizontal', slidesPerView: 1, loop: false, // 如果需要分页器 pagination: '.swiper-pagination', // 如果需要前进后退按钮 nextButton: '.swiper-button-next', prevButton: '.swiper-button-prev', // 如果需要滚动条 scrollbar: null, });$('#__sc1').show(); mySwiper.slideTo(index);//$('.swiper-pagination span').eq(index).trigger('click'); });问题:
在IE10和Firefox下工作正常,在IE9下不能正常定位,总是定位到第1页(图)。
分析:
通过调查,发现,IE9在处理隐藏DOM元素时和IE10有较大的区别。现有代码是先初始化Swiper,然后再显示Swiper的躯干。
试着将Swiper的躯干(DOM元素)先显示,然后再实例化。测试结果表明能正常定位到指定页面。可见,在IE9下,对隐藏DOM元素进行操作可能会存在一些问题,导致Swiper未能正常初始化。
解决:
先显示Swiper的躯干(DOM元素) ,然后再实例化Swiper。即第3段代码,show()方法在 new Swiper()方法之前。
注:
要兼容IE7,8,一定要使用Swiper版本2.x,3.x会有N多的问题,3.x版本主要兼容高版本浏览器和移动应用。
阅读全文
0 0
- IE9下Swiper控件不能准确定位到指定页面问题的解决
- swiper 定位到指定页面或位置
- 解决 my97 时间控件在iframe 下不能够准确对齐的问题
- 成功解决win7不能重装ie9的问题
- 解决IE下某些页面不能刷新显示的问题
- winxp下不能被ping到问题的解决
- 解决IE9下JQuery的ajax失效的问题
- 解决SWFUpload 在IE9下无法加载的问题
- [IE9] 解决了傲游、搜狗浏览器在IE9下网页截图的问题
- Biztalk开发中解决“新事务不能登记到指定的事务处理器中”问题
- Biztalk开发中解决“新事务不能登记到指定的事务处理器中”问题 .
- 解决在angular 中swiper 不能滑动问题
- IE10,IE9,IE8等出现控件的click不能触发的问题,罪魁祸首竟然是腾讯
- 控制div跳转到指定位置的若干方法&控制页面定位到指定位置
- 解决同一个页面不能跳转的问题
- 页面load时,定位到指定位置
- ECSHOP ie9下的切换选项卡问题,不能切换的问题处理
- WebForm框架页面上js修改服务端控件导致后台不能正确获取到控件值的问题【总结】
- POJ 2135 Farm Tour
- Stay Hungry,Stay Foolish
- LeetCode 268. Missing Number
- 最全Pycharm教程
- android触摸屏事件学习
- IE9下Swiper控件不能准确定位到指定页面问题的解决
- Java并发编程:Lock
- java-数组
- Django视图(python函数)
- 专用词汇
- NPM的命令
- 插入排序与交换排序
- Linux下MySQL的数据文件存放在哪里的??
- Latex 双击SumatraPDF无法进入WinEdt对应位置的解决办法