我沒有本身寫一個全屏滾動,就在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寫的全屏滾動頁面的指定位置。如有不對之處或有待改進之處還望不吝賜教!完整案例