首页 > 代码库 > 解决swiper在ie9以下不兼容问题
解决swiper在ie9以下不兼容问题
之前用了swiper3做焦点图,结果发现在ie8下不兼容,然后换来了swiper2,发现还是不兼容
swiper2在ie9以下没有transition效果,所以自动降级成了js动画,但是这个swiper2写的有问题,焦点图切换的速度没有用,速度特别快,而且点击一次之后自动轮播也消失了。
于是想起了一个办法,在ie9以上用swiper2,ie9以下用其它焦点图框架,就是判断浏览器,然后调用不同的框架。
样式的话,不同的浏览器在焦点图父元素上加上不同的class名,这样会对应不同的class名来找到需要的不同的样式
<section class="banner" id="banner"> <div id="lun2" class="swiper-container"> <div class="swiper-wrapper"> <div class="swiper-slide"> <a href="@Url.Action("Index","Car")" target="_blank"> <img src="~/Content/webimg/index.jpg" /> </a> </div> <div class="swiper-slide"> <a href="@Url.Action("Yihui","Topology")" target="_blank"> <img src="~/Content/webimg/yihui.jpg" /> </a> </div> <div class="swiper-slide"> <a href="@Url.Action("Hahale","Topology")" target="_blank"> <img src="~/Content/webimg/hahale.jpg" /> </a> </div> <div class="swiper-slide"> <a href="@Url.Action("Yiwei","Topology")" target="_blank"> <img src="~/Content/webimg/wenhua.jpg" /> </a> </div> <div class="swiper-slide"> <a href="@Url.Action("Meissen","Topology")" target="_blank"> <img src="~/Content/webimg/pinzhi.jpg" /> </a> </div> </div> <!--分页器--> <div class="pagination"></div> <!--左右按钮--> <div id="prevbtn" class="swiperbtn"><i class="fa fa-angle-left"></i></div> <div id="nextbtn" class="swiperbtn"><i class="fa fa-angle-right"></i></div> </div> <!--ie8--> </section>
js:
function swipertwo() { $("#banner").addClass("fornotie") var mySwiper1 = new Swiper(‘.swiper-container‘, { autoplay: 5000,//可选选项,自动滑动 loop: true,//可选选项,开启循环 speed: 1000, autoplayDisableOnInteraction: false, keyboardControl: true,//键盘滚动 calculateHeight: true,//自动高度 pagination: ‘.pagination‘, paginationClickable: true,//点击分页器的指示点时会发生Swiper。 onInit: function (swiper) { } }) document.getElementById("prevbtn").onclick = function () { mySwiper1.swipePrev(); } document.getElementById("nextbtn").onclick = function () { mySwiper1.swipeNext(); } $(window).resize(function () { mySwiper1.reInit(); }); } $(document).ready(function () { var DEFAULT_VERSION = 9; var ua = navigator.userAgent.toLowerCase(); var isIE = ua.indexOf("msie") > -1; var safariVersion; if (isIE) { safariVersion = ua.match(/msie ([\d.]+)/)[1]; var sa = parseInt(safariVersion); if (safariVersion <= DEFAULT_VERSION) { //ie9以下,添加class名调用slide框架 $("#banner").addClass("forie") $("#lun2").slide({ autoplay: true, autoTime: 5000, }); } else { //ie9以上,调用swiper2 swipertwo() } } else { //非ie swipertwo() } });
slide.js的css:
.forie #lun2{ position: relative; } .forie .swiper-container .swiper-wrapper{width:100%;overflow:hidden;position:relative} .forie .swiper-container .swiper-slide .banner-img{width:100%;} .forie .swiper-container .swiper-wrapper .swiper-slide{ width:100%; position:absolute; } .forie .swiper-container .console{ height: 57px; display: inline-block; width: 35px; position: absolute; top: 40%; } .forie .swiper-container .pagination{ position: absolute; z-index: 20; bottom: 10px; width: 100%; text-align: center; margin: 22px 0; } .forie .swiper-container .pagination ul li{ display: inline-block; width: 12px; height: 12px; border-radius: 12px; margin: 0 5px; border: 1px solid #fff; cursor: pointer; -webkit-transition: all .3s; -moz-transition: all .3s; -ms-transition: all .3s; -o-transition: all .3s; transition: all .3s; } .forie .swiper-container .pagination ul li.active{ background: #4B9FE9; border:none; width: 14px; height: 14px; border-radius: 14px; } .forie .swiper-container .swiperbtn{ position: absolute; color: #fff; top: 50%; margin-top: -25px; width: 50px; height: 50px; text-align: center; line-height: 50px; cursor: pointer; -webkit-transition: all .3s; -moz-transition: all .3s; -ms-transition: all .3s; -o-transition: all .3s; transition: all .3s; } .forie .swiper-container .swiperbtn:hover{ -webkit-transform:scale(1.2); -moz-transform:scale(1.2); -ms-transform:scale(1.2); -o-transform:scale(1.2); transform:scale(1.2); } .forie .swiper-container .swiperbtn i{ font-size: 50px; } .forie .swiper-container #prevbtn{ cursor:pointer; left: 75px; } .forie .swiper-container #nextbtn{ cursor:pointer; right: 75px; } .forie .swiper-container .slidedetail{display:none;} .forie .imgtoVideo img{width:100%;} .forie .imgtoVideo>div{padding:1px;position:relative;cursor:pointer;width:49%; display: inline-block;} .forie .imgtoVideo>div:hover .imgtoVideoDetail{display:block} .forie .imgtoVideo .imgtoVideoDetail{ width: 100%; height: 100%; position: absolute; top: 0; left: 0; padding:1px; display:none } .forie .imgtoVideo .imgtoVideoDetail >div{ background: rgba(0, 98, 197,0.8); filter: progid:DXImageTransform.Microsoft.gradient(startColorstr=#C8142B49,endColorstr=#C8142B49); width: 100%; height: 100%; text-align:center; } .forie .imgtoVideo .tovideo .imgtoVideoDetail{ display:block; } .forie .imgtoVideo .tovideo .imgtoVideoDetail >div{ background: #0C2D47; width: 60px; height: 60px; color: #fff; line-height: 60px; vertical-align: middle; margin: 0 auto; margin-top: 17%; } .forie .imgtoVideo .imgtoVideoDetail .fa-search{ color: #fff; font-size: 25px; margin-top: 21%; } .forie .contentIV{ position: fixed; top: 0; left: 0; right:0; width: 100%; height: 100%; display: table; background: rgba(20, 43, 73,0.8); filter: progid:DXImageTransform.Microsoft.gradient(startColorstr=#C8142B49,endColorstr=#C8142B49); margin:0 auto; z-index:-999; max-width:1024px; display:none; } .forie #picturetoVideo .swiper-wrapper .swiper-slide{display:table;height:100%} .forie #picturetoVideo .swiper-wrapper .swiper-slide>div{display:table-cell;vertical-align: middle;text-align: center;} .forie #picturetoVideo .swiper-wrapper .swiper-slide .banner-img{max-width:100%;width:auto} .forie .closeContentIV{ position: absolute; top: 10px; right: 10px; font-size: 25px; color: #fff; font-weight: bold; cursor:pointer; z-index: 999; }
这是比较笨的一种方法,如果有兼容ie8以下并且在高版本浏览器上效果还不错的框架欢迎分享
解决swiper在ie9以下不兼容问题
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。