问题背景

从一个页面跳转到用swiper写的全屏滚动页面的指定位置,怎么实现啊?

案例

我没有自己写一个全屏滚动,就在Swiper官网找了Swiper在PC端的全屏页面效果展示

若有侵权请留言告知我更换

思路

  1. 首先把案例拿到本地命名为SwiperPC.html。(CV大法就不需要教了吧?)
  2. 现在要写一个页面a.html代码如下:
    <a class="btn" href="SwiperPC.html" target="_blank">点击我进入全屏页面效果展示</a>复制代码

    通过点击a标签跳转到SwiperPC.html指定某个slide位置(例如 索引值为1的slide)

  3. 正在思考怎么用slideTo结合回调函数...某位大神提供了一个思路:
    用本地存储

    于是我就开始的百度本地存储找到了localStorage用法小总结 豁然开朗!

解决方案

  • 第一步、 a.html中设置localStorage本地存储
  1. 添加点击事件,设置 localStorage自定义 属性 localIndex
  2. 注意这里的index类型是string
    <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>复制代码
  • 第二步、修改案例中的 pcpage.js
  1. 设定初始化时slide的索引 initialSlide: index
  2. 设定 初始index var index=0;
  3. 判断 localStorage里是否保存 localIndex 变量 localStorage.hasOwnProperty("localIndex")
    如果存在就读取该变量赋值给 index
    index=localStorage.getItem("localIndex");
    因为是localStorage长久保存,所以要主动删除 localStorage.removeItem("localIndex")
    (全文localStorage换成sessionStorage也是可以的)
  4. 额外的问题 ,因为这个案例中通过class设置了css3的动画。所以在onFirstInit方法中 根据实际情况对 index 处理一下类型转换 parseInt(index)
    // 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写的全屏滚动页面的指定位置。若有不对之处或有待改进之处还望不吝赐教!完整案例
    延伸阅读我的另一篇用哈希值判断指定位置的基于swiper的Tab选项卡

从一个页面跳转到用swiper写的全屏滚动页面的指定位置相关推荐

  1. 分享一款jQuery全屏滚动页面特性案例

    分享一款jQuery全屏滚动页面特性案例. 我们在来往官网,或者小米官网都会看到全屏滚动页面的一些例子.可以说全屏滚动页面越来越受欢迎.它们就像是竖着的图片轮转一样. 这样的页面有很多,如:iPhon ...

  2. web移动端全屏滚动页面的适配问题

    1.问题说明     近日接到页面全屏滚动的需求,内容为:一张图片,一段文字以及固定在屏幕下方的按钮,如图所示: 根据设计稿尺寸写好页面布局,在大多数手机尺寸中都是适配的,个别手机及ipad会出现问题 ...

  3. 全屏滚动,微场景,H5全屏切换滚动页面制作的方法介绍

    很多人找了很久,都没找到一款好用的H5全屏滚动插件,而H5全屏滚动又是一个常用的技术,常用于移动端的营销推广,虽然现在有很多类似易企秀之类的合成软件,除了数据没法对接到自己平台之外,收集用户数据也有被 ...

  4. html5页面可见xing,【 前端资源 网页插件 】全屏滚动效果H5FullscreenPage.js

    前提: 介于现在很多活动都使用了 类似全屏滚动效果 尤其在微信里面 我自己开发了一个快速构建 此类项目的控件 与市面上大部分控件不同的是此控件还支持元素的动画效果 并提供多种元素效果 基于zepto. ...

  5. 使用JAVASCRIPT进行全屏显示页面,就像触摸屏显示效果

    使用JAVASCRIPT进行全屏显示页面,就像触摸屏显示效果 <script type="text/javascript">         window.onload ...

  6. 前端js使浏览器窗口全屏与退出----浏览器全屏时 监测通过esc按键退出全屏 (退出全屏时有页面上的相关处理)

    vue项目  项目分为顶部导航.侧边导航.以及右边mainContent区域 需求是  让项目的其中一个页面有全屏功能   并且在全屏时隐藏掉顶部的顶导航栏 实现: 1.在state里  定义一个全局 ...

  7. html5单屏滚动页面案例,20个精巧走心的单页滚动网页设计案例

    单页滚动也算是目前网页设计中一个独立的类别了,导航.菜单等网页元素的设计也有一套独特的手法.极简风的导航栏设计其实算不上太多,毕竟导航栏的部分应该是包罗万象并且常驻页面的.而汉堡菜单的存在让导航具备了 ...

  8. html页面左右滑动固定插件,jQuery全屏滚动插件fullPage.js让你的页面分屏滚动

    随着扁平化风格的日益流行,越来越多的网页越来越简单但又看上去高大上,比如小米.魅族.苹果等等知名站点的新品页面,以及360.百度等网站的专题页面越来越采用分屏滚动的风格. 当然实现这种风格的方法有多种 ...

  9. jquery页面跳转带cookie_搭建谷歌浏览器无头模式抓取页面服务,laravelgt;phpgt;pythongt;docker...

    背景: 公司管理系统需要获取企业微信页面的配置参数如企业名.logo.人数等信息并操作,来隐藏相关敏感信息并自定义简化企业号配置流程 第一版已经实现了扫码登录获取cookie,使用该cookie就能获 ...

最新文章

  1. 运营人,你敢转发给你老板看吗?
  2. jvm简单笔记(3)
  3. Attention的本质:从Encoder-Decoder(Seq2Seq)理解
  4. lduan HyPer-V 虚拟机服务监控及更新(十一)
  5. Error: Could not open client transport with JDBC Uri: jdbc:hive2://henu2:10000: java.n et.ConnectExc
  6. [机器学习] XGB/LGB---自定义损失函数与评价函数
  7. 1698 -Access denied for user 'root@xxxx'
  8. Java 多线程 南北多人过桥
  9. Struts1.2+Spring2.5+Hibernate3.2框架搭建(十三)
  10. 配置 Logback 异步 Appender 时注意顺序
  11. Python 爬虫的集中简单方式
  12. 数据--第24课 - 队列的特别实现
  13. yyuc php,YYUC框架与YYUC手册资料下载 | 无名
  14. apache连接mysql配置_Apache+PHP配置及连接mysql数据库
  15. 利用PIL将图像处理为黑白和灰色图片
  16. 程序猿头头(数组应用)
  17. AUI tab实现页签滑动切换且下拉刷新(下拉固定title栏及tab栏)
  18. Java生成二维码带LOGO底部标题竖版字体
  19. 廖雪峰python实战(一)
  20. java:判断字符串的开始或结尾

热门文章

  1. Redis发布与订阅(pub/sub)
  2. spring事务传播属性与隔离级别
  3. 斯坦福大学深度学习与自然语言处理第三讲:高级的词向量表示
  4. 《Docker——容器与容器云》:第五章 构建自己的容器云
  5. 程序员面试题精选100题(03)-子数组的最大和[算法]
  6. 图形处理(十)测地极坐标参数化
  7. 牛顿法 Newton Method
  8. 掌握 Ajax,第 6 部分: 建立基于 DOM 的 Web 应用程序
  9. MicroPython支持图形化编辑了:Python Editor带你轻松玩转MicroPython
  10. java == 与 equals 相同与不同点