我没有本身写一个全屏滚动,就在Swiper官网找了Swiper在PC端的全屏页面效果展现
css
<a class="btn" href="SwiperPC.html" target="_blank">点击我进入全屏页面效果展现</a>复制代码
经过点击a标签跳转到SwiperPC.html指定某个slide位置(例如 索引值为1的slide)<a class="btn" href="SwiperPC.html" target="_blank">点击我进入全屏页面效果展现</a>
<script src="https://cdn.bootcss.com/jquery/3.2.1/jquery.min.js"></script>
<script>
$(function () {
$('.btn').click(function () {
/* 存储名字为 localIndex , 值为 1 的变量 以下两种方法 */
localStorage.localIndex = 1;
// localStorage.setItem("localIndex","1"); // 注意这里的index类型是string 因此不能直接加法运算,稍后处理时候要转为number类型
});
})
</script>复制代码
initialSlide: index
var index=0;
localStorage.hasOwnProperty("localIndex")
,index=localStorage.getItem("localIndex");
localStorage.removeItem("localIndex")
// JavaScript Document
$(function () {
var index=0;
var lens = $('.swiper-slide').length;
if(localStorage.getItem("localIndex")){
index=localStorage.getItem("localIndex"); /* 读取保存在localStorage对象里名为 localIndex 的变量的值 赋值给index */
localStorage.removeItem("localIndex"); /* 删除 保存在localStorage对象里的变量 localIndex */
}
var mySwiper = new Swiper('.swiper-container',{
speed:400,
mode : 'vertical',
resistance:'100%',
initialSlide: index, // 设定初始化时slide的索引
loop:true,
mousewheelControl : true,
grabCursor: true,
pagination: '.pagination',
paginationClickable: true,
onFirstInit:function(){
console.log(typeof index );
/*
* 1. 此处注意index若是是本地存储的localStorage.getItem("index") 则为字符串类型 须要转为整型 parseInt(index)
* 2. parseInt(index) 必须对 lens 取模 不然 本地存储过来的index+1会超出页面数
* */
var i = (parseInt(index)%lens+1);
// $('.swiper-slide').eq(i).addClass('ani-slide');
$('.slide'+i).addClass('ani-slide');
}
});
mySwiper.wrapperTransitionEnd(function () {
$('.ani-slide').removeClass('ani-slide');
$('.swiper-slide').eq(mySwiper.activeIndex).addClass('ani-slide')
},true);
});复制代码
至此解决了从一个页面跳转到另外一个用swiper写的全屏滚动页面的指定位置。如有不对之处或有待改进之处还望不吝赐教!完整案例