swiper嵌套的swiper怎样实现鼠标滚动切换,当嵌套的切换完之后,在继续切换外面的swiper
<!DOCTYPE html> <!-- saved from url=(0044)http://www.swiper.com.cn/demo/11-nested.html --> <html><head><meta http-equiv="Content-Type" content="text/html; charset=UTF-8"> <title>Swiper demo</title> <meta name="viewport" content="width=device-width, initial-scale=1, minimum-scale=1, maximum-scale=1"> <!-- Link Swiper's CSS --> <link rel="stylesheet" href="css/swiper.min.css"> <!-- Demo styles --> <style> html, body { position: relative; height: 100%; } body { background: #eee; font-family: Helvetica Neue, Helvetica, Arial, sans-serif; font-size: 14px; color:#000; margin: 0; padding: 0; } .swiper-container { width: 100%; height: 100%; } .swiper-slide { text-align: center; font-size: 18px; background: #fff; /* Center slide text vertically */ display: -webkit-box; display: -ms-flexbox; display: -webkit-flex; display: flex; -webkit-box-pack: center; -ms-flex-pack: center; -webkit-justify-content: center; justify-content: center; -webkit-box-align: center; -ms-flex-align: center; -webkit-align-items: center; align-items: center; } .swiper-container-v { background: #eee; } </style> </head> <body> <!-- Swiper --> <div class="swiper-container swiper-container-h swiper-container-horizontal"> <div style="transform: translate3d(-1400px, 0px, 0px); transition-duration: 0ms;"> <div class="swiper-slide swiper-slide-prev" style="width: 1350px; margin-right: 50px;">Horizontal Slide 1</div> <div class="swiper-slide swiper-slide-active" style="width: 1350px; margin-right: 50px;"> <div class="swiper-container swiper-container-v swiper-container-vertical"> <div style="transform: translate3d(0px, 0px, 0px); transition-duration: 0ms;"> <div class="swiper-slide swiper-slide-active" style="height: 312px; margin-bottom: 50px;">Vertical Slide 1</div> <div class="swiper-slide swiper-slide-next" style="height: 312px; margin-bottom: 50px;">Vertical Slide 2</div> <div style="height: 312px; margin-bottom: 50px;">Vertical Slide 3</div> <div style="height: 312px; margin-bottom: 50px;">Vertical Slide 4</div> <div style="height: 312px; margin-bottom: 50px;">Vertical Slide 5</div> </div> <div class="swiper-pagination swiper-pagination-v swiper-pagination-clickable swiper-pagination-bullets"><span class="swiper-pagination-bullet swiper-pagination-bullet-active"></span><span></span><span></span><span></span><span></span></div> </div> </div> <div class="swiper-slide swiper-slide-next" style="width: 1350px; margin-right: 50px;">Horizontal Slide 3</div> <div style="width: 1350px; margin-right: 50px;">Horizontal Slide 4</div> </div> <!-- Add Pagination --> <div class="swiper-pagination swiper-pagination-h swiper-pagination-clickable swiper-pagination-bullets"><span></span><span class="swiper-pagination-bullet swiper-pagination-bullet-active"></span><span></span><span></span></div> </div> </body></html>
var swiperH = new Swiper('.swiper-container-h', { pagination: '.swiper-pagination-h', paginationClickable: true, mousewheelControl: true, direction: 'vertical', spaceBetween: 50, onSlideChangeStart:function(swiper){//滑动父级需要激活滚轮事件 swiper.enableMousewheelControl(); } }); var swiperV = new Swiper('.swiper-container-v', { pagination: '.swiper-pagination-v', paginationClickable: true, mousewheelControl: true, nested: true,//阻止父级的切换(该属性只能禁止touch事件,如果不需要滑动阻止,可以注释掉,滚轮事件依然生效) //direction: 'vertical', spaceBetween: 50, onSlideChangeStart: function (swiper) { if (swiper.activeIndex > 0 && swiper.activeIndex < swiper.bullets.length - 1) { swiperH.disableMousewheelControl(); } }, onSlideChangeEnd: function (swiper) { if (!(swiper.activeIndex > 0 && swiper.activeIndex < swiper.bullets.length - 1)) { swiperH.enableMousewheelControl(); } } });
首先我们需要明白swiper 想要速度的效果是需要用到 transition-timing-function: 这个参数的 其次需要配合speed:1200,使用 lin
最后一屏底部自动高度的方法为 slidesPerView:auto, css代码 .foot{height:auto!important;} 但是这种情况会出现滚动到最后一屏的
slidesPerView:1,autoplay:3000,direction:vertical,grabCursor:true,autoplayDisableOnInteraction:false,mousewheelControl:true,autoHeight:true,//重点就是
直接鼠标hover模拟click即可! $(.swiper-pagination-bullet).hover(function(){$(this).click();//鼠标划上去之后,自动触发点击事件来
Swiper默认的切换时间曲线是ease,可以通过添加css3的transition-timing-function属性来改变。 改变Swiper切换的时间曲线 .swi