vue左右滑动切换页面,vue鼠标滚轮事件

  vue左右滑动切换页面,vue鼠标滚轮事件

  这篇文章主要为大家详细介绍了某视频剪辑软件实现滚动鼠标滚轮切换页面,类似于纵向走马灯,文中示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下

  本文实例为大家分享了某视频剪辑软件实现滚动鼠标滚轮切换页面的具体代码,供大家参考,具体内容如下

  新项目产品被甲方的要求逼疯了,大概返稿了100 次吧,最后甲方网上找了个他们认为的比较有科技感的模板,让我们照着写,首页就是类似于纵向走马灯,鼠标滚动切换,一次切换一整屏的效果。之前没接触过,写了个简单的演示,仅作为学习笔记。

  其实原理很简单,就是把所有页面放在一个差异中,然后滚动的时候改变外层差异的顶端即可。

  因为滚动条监听事件是实时的,所以要加上节流来防止页面切换太快速,我这控制在1.5秒才能切换一页。

  其实某视频剪辑软件不应该操作多姆,应该用数据来渲染虚拟多姆,但是有些地方暂时没找到合适的方法,还是用的数字正射影像图操作。

  模板

  div id= wrap :style= { height:screen height px }

  div id= main :style= { top:now top px }

  ul id=pageUl type=circle

  Li id= page ulli 1 class= page ulli :class= { active :curIndex==1 } nbsp ./李

  Li id= page ulli 2 class= page ulli :class= { active :curIndex==2 } nbsp ./李

  Li id= page ulli 3 class= page ulli :class= { active :curIndex==3 } nbsp ./李

  Li id= page ulli 4 class= page ulli :class= { active :curIndex==4 } nbsp ./李

  Li id= page ulli 5 class= page ulli :class= { active :curIndex==5 } nbsp ./李

  /ul

  div style= background-color:# 1b6d 85 id= page 1 class= page /div

  div style= background-color:# 5c b85c id= page 2 class= page /div

  div style= background-color:# 8a6d 3b id= page 3 class= page /div

  div style= background-color:# 337 ab7 id= page 4 class= page /div

  div style= background-color:# 66512 c id= page 5 class= page /div

  /div

  /div

  /模板

  脚本

  导出默认值{

  姓名:家,

  data(){

  返回{

  屏幕重量:0,//屏幕宽度

  屏幕高度:0,//屏幕高度

  索引:1,//用于判断翻页

  curIndex: 1,//当前页的指数

  开始时间:0,//翻屏起始时间

  结束时间:0,//上一次翻屏结束时间

  nowTop: 0,//翻屏后顶端的位置

  pageNum: 0,//一共有多少页

  主:对象,

  对象

  }

  },

  已安装(){

  这个。屏幕重量=文档。documentelement。客户端宽度;

  这个。屏幕高度=文档。documentelement。客户身高;

  这个。main=文档。getelementbyid( main );

  这个。obj=文档。getelementsbytagname( div );

  对于(设I=0;i this.obj。长度;i ) {

  如果.){

  这个。对象[I]。风格。身高=这个。屏幕高度 px ;

  }

  }

  这个。pagenum=文档。查询选择器全部(.第页)。长度;

  //浏览器兼容

  如果((导航员。用户代理。tolowercase().indexOf(火狐)!=-1)) {

  文档。addevent监听器( DOM鼠标滚动,this.scrollFun,false);

  } else if(文档。添加事件侦听器){

  文档。addevent侦听器(鼠标滚轮,this.scrollFun,false);

  } else if (document.attachEvent) {

  文档。附加事件( onmousewheel ,this。滚动乐趣);

  }否则{

  文档。onmousewheel=this。滚动乐趣;

  }

  },

  方法:{

  scrollFun(事件){

  this.startTime=新日期()。getTime();

  //鼠标滚轮事件中的"事件。车轮增量"属性值:返回的如果是正值说明滚轮是向上滚动

  //DOMMouseScroll事件中的"事件。细节"属性值:返回的如果是负值说明滚轮是向上滚动

  设delta=事件。详细信息 (-事件。车轮delta);

  //如果当前滚动开始时间和上次滚动结束时间的差值小于1.5s,则不执行翻页动作,这样做是为了实现类似节流的效果

  如果((这个。开始时间-这个。结束时间)1500){

  if(delta 0 parse int(this。主要的。offsettop)=-(这个。屏幕高度*(这个。pagenum-2))){

  //向下滚动

  this .索引

  这个。topage(这个。指数);

  } else if(delta 0 parse int(this。主要的。offsettop)0){

  //向上滚动

  这个。索引-;

  这个。topage(这个。指数);

  }

  //本次翻页结束,记录结束时间,用于下次判断

  this.endTime=新日期()。getTime();

  }

  },

  //翻页

  toPage(索引){

  如果(索引!=this.curIndex) {

  设delta=index-this。curindex

  这个。现在top=这个。现在顶三角*这个。屏幕高度;

  this.curIndex=index

  }

  }

  }

  }

  /脚本

  风格

  html,正文{

  身高:100%;

  }

  正文,ul,li,a,p,div {

  /*慎删*/

  填充:0px

  边距:0px

  }

  #换行{

  溢出:隐藏;

  宽度:100%;

  }

  #main {

  位置:相对;

  过渡:顶1.5秒

  }。页面{

  /*谨删*/

  宽度:100%;

  边距:0;

  }

  #页面{

  位置:固定;

  右:10px

  底层:50%;

  }。活动{

  颜色:红色;

  }

  /风格

  以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持我们。

郑重声明:本文由网友发布,不代表盛行IT的观点,版权归原作者所有,仅为传播更多信息之目的,如有侵权请联系,我们将第一时间修改或删除,多谢。

相关文章阅读

  • vue监听指定按钮加点击事件,vue按钮点击事件,vue双击事件2.0事件监听(点击-双击-鼠标事件)和事件修饰符操作
  • js鼠标触碰事件,js鼠标事件包括哪几种
  • js鼠标触碰事件,js鼠标事件包括哪几种,关于js中的鼠标事件总结
  • js鼠标拖动div,js 移动鼠标
  • js鼠标拖动div,js 移动鼠标,JS实现简单移动端鼠标拖拽
  • js怎么实现点击按钮图片切换,js鼠标点击按钮图片移动
  • js怎么实现点击按钮图片切换,js鼠标点击按钮图片移动,js鼠标点击图片切换效果代码分享
  • js小球跟随鼠标移动,js鼠标跟随特效
  • js小球跟随鼠标移动,js鼠标跟随特效,js实现鼠标跟随小游戏
  • jquery鼠标悬停二级菜单,jquery鼠标悬停按钮切换图片
  • jquery鼠标悬停二级菜单,jquery鼠标悬停按钮切换图片,jQuery实现鼠标悬停3d菜单展开动画效果
  • html鼠标特效代码,html鼠标特效
  • html鼠标特效代码,html鼠标特效,10个经典的网页鼠标特效代码
  • win7鼠标滚轮上下失灵,win7鼠标滚轮用不了
  • thinkpad usb口不能用 鼠标,thinkpad电脑怎么禁用触控
  • 留言与评论(共有 条评论)
       
    验证码: