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