从一个页面跳转到用swiper写的全屏滚动页面的指定位置
问题背景
案例
我没有自己写一个全屏滚动,就在Swiper官网找了Swiper在PC端的全屏页面效果展示
思路
- 首先把案例拿到本地命名为SwiperPC.html。(CV大法就不需要教了吧?)
- 现在要写一个页面a.html代码如下:
<a class="btn" href="SwiperPC.html" target="_blank">点击我进入全屏页面效果展示</a>复制代码
通过点击a标签跳转到SwiperPC.html指定某个slide位置(例如 索引值为1的slide)
- 正在思考怎么用slideTo结合回调函数...某位大神提供了一个思路:
于是我就开始的百度本地存储找到了localStorage用法小总结 豁然开朗!
解决方案
- 第一步、 a.html中设置localStorage本地存储
- 添加点击事件,设置 localStorage自定义 属性 localIndex
- 注意这里的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
- 设定初始化时slide的索引
initialSlide: index
- 设定 初始index
var index=0;
- 判断 localStorage里是否保存 localIndex 变量
localStorage.hasOwnProperty("localIndex")
,
如果存在就读取该变量赋值给 index
index=localStorage.getItem("localIndex");
因为是localStorage长久保存,所以要主动删除localStorage.removeItem("localIndex")
(全文localStorage换成sessionStorage也是可以的) - 额外的问题 ,因为这个案例中通过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写的全屏滚动页面的指定位置相关推荐
- 分享一款jQuery全屏滚动页面特性案例
分享一款jQuery全屏滚动页面特性案例. 我们在来往官网,或者小米官网都会看到全屏滚动页面的一些例子.可以说全屏滚动页面越来越受欢迎.它们就像是竖着的图片轮转一样. 这样的页面有很多,如:iPhon ...
- web移动端全屏滚动页面的适配问题
1.问题说明 近日接到页面全屏滚动的需求,内容为:一张图片,一段文字以及固定在屏幕下方的按钮,如图所示: 根据设计稿尺寸写好页面布局,在大多数手机尺寸中都是适配的,个别手机及ipad会出现问题 ...
- 全屏滚动,微场景,H5全屏切换滚动页面制作的方法介绍
很多人找了很久,都没找到一款好用的H5全屏滚动插件,而H5全屏滚动又是一个常用的技术,常用于移动端的营销推广,虽然现在有很多类似易企秀之类的合成软件,除了数据没法对接到自己平台之外,收集用户数据也有被 ...
- html5页面可见xing,【 前端资源 网页插件 】全屏滚动效果H5FullscreenPage.js
前提: 介于现在很多活动都使用了 类似全屏滚动效果 尤其在微信里面 我自己开发了一个快速构建 此类项目的控件 与市面上大部分控件不同的是此控件还支持元素的动画效果 并提供多种元素效果 基于zepto. ...
- 使用JAVASCRIPT进行全屏显示页面,就像触摸屏显示效果
使用JAVASCRIPT进行全屏显示页面,就像触摸屏显示效果 <script type="text/javascript"> window.onload ...
- 前端js使浏览器窗口全屏与退出----浏览器全屏时 监测通过esc按键退出全屏 (退出全屏时有页面上的相关处理)
vue项目 项目分为顶部导航.侧边导航.以及右边mainContent区域 需求是 让项目的其中一个页面有全屏功能 并且在全屏时隐藏掉顶部的顶导航栏 实现: 1.在state里 定义一个全局 ...
- html5单屏滚动页面案例,20个精巧走心的单页滚动网页设计案例
单页滚动也算是目前网页设计中一个独立的类别了,导航.菜单等网页元素的设计也有一套独特的手法.极简风的导航栏设计其实算不上太多,毕竟导航栏的部分应该是包罗万象并且常驻页面的.而汉堡菜单的存在让导航具备了 ...
- html页面左右滑动固定插件,jQuery全屏滚动插件fullPage.js让你的页面分屏滚动
随着扁平化风格的日益流行,越来越多的网页越来越简单但又看上去高大上,比如小米.魅族.苹果等等知名站点的新品页面,以及360.百度等网站的专题页面越来越采用分屏滚动的风格. 当然实现这种风格的方法有多种 ...
- jquery页面跳转带cookie_搭建谷歌浏览器无头模式抓取页面服务,laravelgt;phpgt;pythongt;docker...
背景: 公司管理系统需要获取企业微信页面的配置参数如企业名.logo.人数等信息并操作,来隐藏相关敏感信息并自定义简化企业号配置流程 第一版已经实现了扫码登录获取cookie,使用该cookie就能获 ...
最新文章
- 运营人,你敢转发给你老板看吗?
- jvm简单笔记(3)
- Attention的本质:从Encoder-Decoder(Seq2Seq)理解
- lduan HyPer-V 虚拟机服务监控及更新(十一)
- Error: Could not open client transport with JDBC Uri: jdbc:hive2://henu2:10000: java.n et.ConnectExc
- [机器学习] XGB/LGB---自定义损失函数与评价函数
- 1698 -Access denied for user 'root@xxxx'
- Java 多线程 南北多人过桥
- Struts1.2+Spring2.5+Hibernate3.2框架搭建(十三)
- 配置 Logback 异步 Appender 时注意顺序
- Python 爬虫的集中简单方式
- 数据--第24课 - 队列的特别实现
- yyuc php,YYUC框架与YYUC手册资料下载 | 无名
- apache连接mysql配置_Apache+PHP配置及连接mysql数据库
- 利用PIL将图像处理为黑白和灰色图片
- 程序猿头头(数组应用)
- AUI tab实现页签滑动切换且下拉刷新(下拉固定title栏及tab栏)
- Java生成二维码带LOGO底部标题竖版字体
- 廖雪峰python实战(一)
- java:判断字符串的开始或结尾
热门文章
- Redis发布与订阅(pub/sub)
- spring事务传播属性与隔离级别
- 斯坦福大学深度学习与自然语言处理第三讲:高级的词向量表示
- 《Docker——容器与容器云》:第五章 构建自己的容器云
- 程序员面试题精选100题(03)-子数组的最大和[算法]
- 图形处理(十)测地极坐标参数化
- 牛顿法 Newton Method
- 掌握 Ajax,第 6 部分: 建立基于 DOM 的 Web 应用程序
- MicroPython支持图形化编辑了:Python Editor带你轻松玩转MicroPython
- java == 与 equals 相同与不同点