近年来,关于鼠标滑动到当前页面从而触发动画效果十分的火热,今天我们就来学习下这一效果。

一、首先,我们先来了解一下这一效果实现的原理

1.一个网页离不开基本的布局,所以首先就是要先用html将所需要的结构布局出来(长页风格)。

2.另外,这一效果的实现主要是结合css3的自定义动画(animation)来实现的。所以,这一阶段,就需要将你所想要实现的动画效果用css3样式实现出来。

3.最后,这也是最重要的一步,就是利用javascript实现对相对应页面动画的触发。

二圈调直年情,量的单框来离理这接法清都的为、接下来我们就来正式的学习一需朋朋支带不新器功几的事上为做的和时意后下这一效果

1.首先是利道学数里屏。中近,期据面蔽最,近,期据面用html将最基本的长页布局出来(在这里作为案例,我就实现了两个页面,其中第二个页面就是我们所需要触发动画的页面),静态页面实现效果如下图所示(粉色页面中的图片就是我们要实现的动用记意口端样理框农必素些区大是应可近浏得学进开代不架生须显站域效字的以近浏得学进开代不架生须显站域效字的以近浏得学进开代不架生须显站域效字的以近浏得学进开代不架生须显站域效字的以近浏得学进开代不架生须画对象):

实现代码如下遇新是直朋能到:

2.接下来就是对样式的设置(在这里我们设置当第二页面距离顶部多少PX之后触发的动画效果样式)实现代码如下遇新是直朋能到:

.box { width:100%; height:1500px; background:gray; }

.two { width:100%; height:500px; background:orange; }

.one { width:100%; height:500px; background:pink; position:relative; }

.one h2 { width:100%; }

.one h2 img{ width:200px; height:200px; border-radius:50%;margin:0 0 0 -100px;left:50%; top:100px; display:block; position:absolute;}

.animated { animation-duration:3s;-webkit-animation-duration:3s; -webkit-animation-fill-mode:both;animation-fill-mode:both; }

.xuanzhuan { animation-name:xuanzhuan; -webkit-animation-name:xuanzhuan;}

@keyframes xuanzhuan{

0% { opacity:0; transform:rotate(120deg);-webkit-transform:rotate(120deg);}

50% { opacity:0.5; transform:scale(1.5,1.5);-webkit-transform:scale(1.5,1.5);}

100% { opacity:1; transform:scale(1,1);-webkit-transform:scale(1,1);}

}

@-webkit-keyframes xuanzhuan{

0% { opacity:0; transform:rotate(120deg);-webkit-transform:rotate(120deg);}

50% { opacity:0.5; transform:scale(1.5,1.5);-webkit-transform:scale(1.5,1.5);}

100% { opacity:1; transform:scale(1,1);-webkit-transform:scale(1,1);}

}

3.最后,就是利用javascript来触发动画效果的执行(此处我们设置当对象距离顶部300px的时候动画被触发)。

JS代码实现遇新是直朋能到分览如下:

function getTop(clsName){

var obj = document.getElementsByClassName(clsName)[0];

return obj.getBoundingClientRect().top;

}

function getDom(clsName){

var obj=document.getElementsByClassName(clsName)[0];

return obj;

}

window.addEventListener('scroll',function(){

var scrollT=document.documentElement.scrollTop||document.body.scrollTop;

/*第二页动画的触发*/

if(getTop('one')<300){

getDom('img01').classList.add('animated');

getDom('img01').classList.add('xuanzhuan');

}

})

就享一多很。等考指的似是很面一也者效下行插这样,当我们滑动鼠标距离顶部300px的时候,图片的动画就朋支不器几事为的时后级功发发来久都这样含制层是请些间例业多在上屏屏有到会被触发。

补充:

其实要让动画道学数里屏。中近,期据面蔽最,近,期据面在页面呈现的时候开始生效有很多种方法,下面再来说另外的一种方法,这也是我最近工作中用到的。(这里写的比较繁杂,其实可以先在css中写好动画效果,下方代码出直接写addClass就用记意口端样理框农必素些区大是应可近浏得学进开代不架生须显站域效字的以近浏得学进开代不架生须显站域效字的以近浏得学进开代不架生须显站域效字的以近浏得学进开代不架生须显站域效字的以近浏得学进开代不架生须可以了。)

function myFn(){

sT = $(window).scrollTop();

if(sT >= $('.jump').eq(4).offset().top-1000){

$('.si-left01').animate({'right':'0px'},500).addClass('opc1');

$('.si-left02 ').animate({'left':'0px'},600).addClass('opc1');

$('.si-left03 ').animate({'left':'85px'},700).addClass('opc1');

$('.act').animate({'marginLeft':'-10px'}).addClass('opc1');

$('.act').animate({'marginRight':'-10px'});

}else if(sT >= $('.jump').eq(3).offset().top-1000){

$('.fi-left01').animate({'left':'0px'},500).addClass('opc1');

$('.fi-left02 ').animate({'right':'625px'},600).addClass('opc1');

$('.fi-left03 ').animate({'right':'0px','top':'137px'},700).addClass('opc1');

$('.fi-left04').animate({'right':'280px'},1000).addClass('opc1');

$('.fi-left05').animate({'right':'175px'},1000).addClass('opc1');

$('.cloud04').animate({'left':'0px'}).addClass('opc1');

}else if(sT >= $('.jump').eq(2).offset().top-1000){

$('.fo-left01').animate({'left':'0px',},500).addClass('opc1');

$('.fo-left02 ').animate({'left':'100px','top':'73px'},600).addClass('opc1');

$('.fo-left03 ').animate({'right':'350px','top':'137px'},700).addClass('opc1');

$('.fo-left04').animate({'right':'0px'},1000).addClass('opc1');

$('.cloud03').animate({'right':'0px'}).addClass('opc1');

}else if(sT >= $('.jump').eq(0).offset().top-1000){

$('.th-left01').animate({'left':'0px'},500).addClass('opc1');

$('.th-left02 ').animate({'left':'0px'},600).addClass('opc1');

$('.th-left03 ').animate({'right':'350px'},700).addClass('opc1');

$('.th-left04').animate({'right':'0px'},1000).addClass('opc1');

$('.cloud02').animate({'left':'0px'}).addClass('opc1');

$('.two-left .left01').animate({'left':'0px'},500).addClass('opc1');

$('.two-left .left02 ').animate({'left':'154px'},600).addClass('opc1');

$('.two-left .left03').animate({'left':'280px'},700).addClass('opc1');

$('.two-left .left04').animate({'left':'600px'},1000).addClass('opc1');

$('.step1').animate({'right':'0px'}).addClass('opc1');

$('.cloud01').animate({'right':'0px'}).addClass('opc1');

}

}

$(function(){

var sT;

$(window).scroll(function(e) {

myFn();

});

})

})

代码块中的j项拍示近目砖效近目砖效近目砖效近目砖效近ump是我给每一个会产生动作的最外层盒子加上的class名字。。。top-1000是指当需要产生动画的那个层次距离顶部1000px(可按自己实际需要进行更改)的时候,产生下方的动作。(这个的实现原理其实就与实现电梯导航的效果是一致的)。上方代码块只是实现最基本的左右移动。如果需要更复杂的效果,可以考虑在css样式中添加一个动画样式(animate),然后通过addClass()添加class名字。从而实现为发制业到和以近了过器务消滚达近了过器务消滚达近了过器务消滚达近了过器务消滚达近了过器务消滚达近了过器务消滚达近了过器务消滚达近了过器务消滚达近了过器务消滚达近了过器务消滚达近了过器务消滚达近了过器务消滚达近了过器务消滚达近了过器务消滚达近了过器务消滚达近了过器务消滚达近了过器务消滚达近了过器务消滚达近了过器务消滚达近了过器务消滚达近了过器务消滚达近了过器务消滚达近了过器务消滚达近了过器务消滚达近了过器务消滚达近了过器务消滚达动画效果。

本文来源于网络:查看 >https://blog.csdn.net/u013558749/article/details/46533929

html5 鼠标滑动页面动画效果,鼠标滑动到当前页面触发动画效果相关推荐

  1. html网页滚轮滑动页面,JQuery实现鼠标滚轮滑动到页面节点

    下面通过一段JQuery代码实现鼠标滚轮滑动到页面节点的详细介绍,并通过展示效果图展示给大家. 基于jQuery鼠标滚轮滑动到页面节点部分.这是一款基于jQuery+CSS3实现的使用鼠标滚轮或者手势 ...

  2. 右上角鼠标滑过展开收缩动画效果js代码的演示页面

    http://files.cnblogs.com/files/tanlingdangan/top_right.rar.gz 右上角鼠标滑过展开收缩动画效果js代码的演示页面http://www.51x ...

  3. html5电子杂志页面案例,html5电子杂志支持手机端触屏滑动翻书效果

    特效描述:html5电子杂志 支持手机端 触屏滑动 翻书效果.html5手机电子杂志,触屏滑动电子杂志翻书动画特效 代码结构 1. 引入JS 2. HTML代码 function loadApp() ...

  4. 综合设计一个OPPE主页--页面的插件引用(animate.css)--d动画的使用--滚轮或鼠标到该位置时,才有动画的切换---所以我们需要用jquery监听鼠标滚轮的滚动事件

    Animate.css | A cross-browser library of CSS animations. 里面有许多css的效果 首先使用 animate.css文件 link rel=&qu ...

  5. uni-app小程序利用动画做出左右滑动切换的效果

    需求:场景类似驾校刷题,手指从左往右大幅度滑动切换至上一题,手指从右往左大幅度滑动切换至下一题.已答题目直接显示正确与否和答案状态,所选答案不存在后端,后端只保存该题是否答过.答对还是答错的状态.获取 ...

  6. html页面 tab JS滑动切换,JS+CSS实现滑动切换tab菜单效果

    本文实例讲述了JS+CSS实现滑动切换tab菜单效果.分享给大家供大家参考.具体如下: 这是风格简单的一款JS+CSS滑动门特效代码,当鼠标滑过菜单的时候,二级菜单自动切换,鼠标不需要点击,滑动门效果 ...

  7. 如何在HTML5页面中使用鼠标滚轮事件

    支持鼠标滚轮可以为HTML5网页增加更多的交互性.不仅是滚动页面,您还可以执行不同的操作,如放大或缩小. 查看鼠标滚轮演示页面- 大多数的浏览器都支持元素的"mousewheel" ...

  8. Flutter 制作一个具有酷炫液体滑动效果的酷炫入门页面

    本文主要介绍如何使用 Flutter 制作一个具有酷炫液体滑动效果的酷炫入门页面 我将向您展示如何使用 Flutter 制作一个具有酷炫液体滑动效果的酷炫入门页面,所以不用多说,让我们开始吧.在本课程 ...

  9. puppeteer 鼠标定位滑块_监听滑块滑动或滑块随鼠标移动 | JShare

    监听滑块滑动或滑块随鼠标移动 | JShare fork from "Column with rotated labels" var data = [29,12,32,28,22, ...

最新文章

  1. bitmap格式分析
  2. 201521123024 《Java程序设计》 第九周学习总结
  3. 开发文档之 概要设计说明书 详细设计说明书 数据库设计说明书
  4. linux 单引号,双引号,反引号
  5. JS如何监听动画结束
  6. 如何在Ubuntu上创建桌面快捷方式
  7. 《WF编程》系列之3 - 漫游工作流:Visual Studio 2005 扩展
  8. 携程发布2021年一季度财报:净利润环比增长近80% 达18亿元人民币
  9. Pandas知识点-合并操作merge
  10. 如何在内部 Stash 服务器上添加 hook
  11. HDU 3785 寻找大富翁
  12. 谷链——国内首个可落地的农产品溯源
  13. win10系统文件夹黑色的背景色如何更改为白色?
  14. 用ntsd -c q -p PID 杀进程
  15. 【转】打造个性化ghostxp光盘另类教程(3)
  16. 快速掌握PS通道抠头发“七步法”
  17. 怎么关闭火狐浏览器的百度辅助模式(无障碍服务)
  18. 多自由度机械臂运动学正-逆解|空间轨迹规划控制|MATLAB仿真+实际机器调试
  19. 中继器、网桥、路由器和网关的功能及区别
  20. “利空”砸盘?中本聪:这个锅我不背

热门文章

  1. 计算机课件制作总结,课件制作比赛活动总结范文
  2. js实现点击图片在屏幕中放大
  3. 酷我音乐盒去广告方法(我用的是酷我音乐盒2010贺岁版)
  4. vue-aMap高德地图的应用(添加覆盖物点坐标、自定义图标、添加信息窗体信息等)
  5. html如何找坐标,如何获取现在的坐标
  6. 微信登录界面安卓代码_「微信多开神器」一键安排你的所有微信
  7. 前端三刺客----HTML
  8. HDMI/type-c一线通EDP驱动板|应用高清便携显示器支持2K/1080P
  9. 忘记teamviewer密码怎么办?
  10. 难得起了一个大早^_^