`

web中实现动画的5种方式及实例

阅读更多

1.css3的transition;

实例:鼠标移入时盒子宽度逐渐变大为300px

 

<style> 
div
{
width:100px;
height:100px;
background:blue;
transition:width 2s;
-moz-transition:width 2s; /* Firefox 4 */
-webkit-transition:width 2s; /* Safari and Chrome */
-o-transition:width 2s; /* Opera */
}

div:hover
{
width:300px;
}
</style>
<div></div>

 

 

2.CSS3的animattion+keyframes;

实例:盒子左右无限循环运动

 

<style> 
div
{
width:100px;
height:100px;
background:red;
position:relative;
animation:mymove 3s infinite alternate;
-webkit-animation:mymove 3s infinite alternate; /*Safari and Chrome*/
}

@keyframes mymove
{
from {left:0px;}
to {left:200px;}
}

@-webkit-keyframes mymove /*Safari and Chrome*/
{
from {left:0px;}
to {left:200px;}
}
</style>

<div></div>

 

 

3.使用window.setTimout()或者window.setInterval();

实例:盒子左右无限循环运动

 

<style>
    #demo {
        width: 100px;
        height: 100px;
        background: red;
        position: relative;
    }
</style>
<div id="demo" style="left:0;"></div>
<script>
    var left = 0
        , der = 0;
    setInterval(function () {
        left = document.querySelector("#demo").style.left;
        if (left == "0px") {
            der = 2;
        }
        if (left == "300px") {
            der = -2;
        }
        document.querySelector("#demo").style.left = parseInt(left) + der + "px";
    }, 60)
</script>

 此方法的缺点是,可能会出现卡顿的现象,动画不顺畅

 

4.使用jquery动画相关的API;

实例:改变盒子宽度

<html>
<head>
<script type="text/javascript" src="/jquery/jquery.js"></script>
<script type="text/javascript">
$(document).ready(function()
  {
  $(".btn1").click(function(){
    $("#box").animate({width:"300px"});
  });
  $(".btn2").click(function(){
    $("#box").animate({width:"100px"});
  });
});
</script>
</head>
<body>
<div id="box" style="background:#98bf21;height:100px;width:100px;margin:6px;">
</div>
<button class="btn1">Animate</button>
<button class="btn2">Reset</button>
</body>
</html>

 当然jquery中实现动画的API可不止这些,除了自定义动画之外,还有

显示与隐藏:hide(),show(),toggle();

滑动:slideDown(),slideUp(),slideToggle();

淡入淡出:fadeIn(),fadeOut(),fadeToggle(),fadeTo();

动画的操作:delay(),stop(),finish();

 

5.window.requestAnimationFrame()方法;

实例:盒子左右无限循环运动

<style>
    #demo {
        width: 100px;
        height: 100px;
        background: red;
        position: relative;
    }
</style>
<div id="demo" style="left:0;"></div>
<script>
   //处理兼容问题
    window.requestAnimationFrame = window.requestAnimationFrame || window.mozRequestAnimationFrame || window.webkitRequestAnimationFrame || window.msRequestAnimationFrame;
    var left = 0
        , der = 0;

    function step() {
        left = document.querySelector("#demo").style.left;
        if (left == "0px") {
            der = 2;
        }
        if (left == "300px") {
            der = -2;
        }
        document.querySelector("#demo").style.left = parseInt(left) + der + "px";
        requestAnimationFrame(step);
    }
    requestAnimationFrame(step);//动画开启
</script>

 需要注意的是,如果想得到连贯的逐帧动画,函数中必须重新调用 requestAnimationFrame(),另外此方法是比较新的一种方法,需要注意下其兼容性的处理

 

2
0
分享到:
评论

相关推荐

    h5广告动画实例

    《H5广告动画实例解析与应用》 在数字化营销领域,H5广告因其互动性强、传播范围广的特点,已经成为企业推广的重要手段。本资源“h5广告动画实例”旨在为初学者提供一个基础的H5广告开发学习平台,通过具体的案例,...

    Web 前端拖拽实现实例分析

    本文将深入探讨如何在Web前端实现拖放功能,通过实例分析不同实现方式的优缺点,帮助开发者选择最适合项目需求的解决方案。 首先,让我们了解拖放的基本原理。拖放功能涉及两个主要事件:`dragstart`、`drag`、`...

    动画开发实例

    "Animation"可能有基于物理引擎的动画实例。 9. **动画库与框架**:许多动画库和框架如GreenSock(GSAP)、React Transition Group等简化了动画开发。"Animation"可能包含了这些库的使用示例。 10. **响应式动画**...

    基于HTML5实现僵尸行走动画实例源码.zip

    在这个"基于HTML5实现僵尸行走动画实例源码"的压缩包中,我们可以深入理解HTML5在动画制作方面的应用。 首先,HTML5引入了Canvas元素,这是一个可编程的2D绘图表面,可以用来动态渲染图形和动画。在这个僵尸行走...

    html5 canvas小人跳舞动画特效

    这个"html5 canvas小人跳舞动画特效"是一个利用Canvas API实现的交互式动画示例,它展示了如何通过编程方式创建动态、生动的视觉效果。 在Canvas中,我们可以使用`canvas.getContext('2d')`获取2D渲染上下文,然后...

    flex的web开发实例,实现页面动画,一个不错的flex开发实例,

    flex的web开发实例,实现页面动画,一个不错的flex开发实例,

    Qt5开发及实例(第4版)-源代码

    **Qt5开发及实例(第4版)源代码详解** Qt5是一款强大的跨平台应用程序开发框架,由The Qt Company提供,被广泛应用于桌面、移动和嵌入式设备的软件开发。该框架支持C++编程语言,并且通过QML提供了一种声明式的用户...

    用Javascript DOM实现网页幻灯片动画实例.pdf

    该函数可以用于实现网页幻灯片动画实例中的幻灯片播放效果。 知识点五:moveE()函数的应用 moveE()函数是JavaScript DOM中一个重要的函数,用于实现元素的移动动画效果。该函数可以用于实现网页幻灯片动画实例中的...

    web前端页面实例

    Web前端页面实例是开发者在学习和实践中积累的重要资源,它涵盖了JavaScript、jQuery和CSS这三种核心技术的运用。这些技术是构建交互式、动态且视觉吸引力强的网页的关键工具。 JavaScript,作为网页的脚本语言,...

    css动画 伪类基础使用实例

    本教程聚焦于CSS中的动画和伪类基础,通过实例帮助开发者掌握这些重要概念,提升网页交互体验。 首先,让我们了解什么是CSS动画。CSS动画是通过关键帧来定义元素从一种样式逐渐变为另一种样式的视觉效果。这种效果...

    JS各种实例web前端

    JavaScript(简称JS)是Web前端开发中的核心技术,用于实现网页的动态效果和交互。这个"JS各种实例web前端"的压缩包文件包含了多种常见的JS特效,对于初学者和开发者来说,是一个宝贵的资源库。下面将详细讲解这些...

    Web客户端技术 实例

    在互联网世界中,Web客户端技术是构建用户交互界面的关键组成部分,它使得用户可以通过浏览器或者其他Web应用接口与服务器进行数据交换。本实例将深入探讨Web客户端技术的各个方面,以帮助开发者和学习者更好地理解...

    JavaScript-Web素材实例

    这个名为"JavaScript-Web素材实例"的压缩包包含了多个JavaScript实现的Web元素和特效,旨在帮助开发者提升网页交互性和用户体验。 首先,"JS横向弹性相册代码"是一个用于创建灵活、响应式的图片展示方案。这种相册...

    asp web开发实例教程

    ### ASP Web 开发实例教程知识点...通过系统地学习本书中的实例,读者不仅能够掌握 ASP 动态网站的设计方法,还能够在实践中不断提高自己的编程技巧和项目管理能力,为将来成为一名合格的 Web 开发者打下坚实的基础。

    Adobe Animate CC Html5动画实例

    在“Adobe Animate CC Html5动画实例”中,我们将专注于一个具体的项目——创建一个转盘动画。这个转盘动画可以用于各种场景,如抽奖、游戏或者教学活动,它展示了Animate CC在制作动态效果方面的灵活性和实用性。 ...

    Web网页动画

    在压缩包文件"qihr"中,可能包含了使用上述技术制作的网页和动画实例。这些例子可能涉及HTML结构、CSS动画和JavaScript特效的组合。通过研究这些实例,开发者可以学习如何在实际项目中应用Web动画,提升网页的视觉...

    jCharts web报表开发实例

    本文将深入探讨jCharts在web报表开发中的实践应用,包括基本使用、配置选项、图表类型以及如何实现交互功能。 ### 1. jCharts简介 jCharts是一款基于HTML5 Canvas的开源图表库,它可以生成各种类型的图表,如柱状...

    html5实现的动画小人

    在HTML5中,这通常通过JavaScript的`requestAnimationFrame()`函数实现,该函数在浏览器下一次重绘之前调用指定的回调函数,确保动画流畅且节省资源。 3. **JavaScript控制**: 动画的核心在于JavaScript代码,它...

    原生js实现jquery函数animate()动画效果的简单实例

    在前端开发中,jQuery提供了一套非常方便的API来实现动画效果,但随着Web标准的发展和性能优化需求的提高,原生JavaScript的方法逐渐受到青睐。通过原生JavaScript实现动画,能够更精确地控制动画过程,并在需要时...

    1963EXP_Code_HTML5移动Web开发实战实例源码_

    本压缩包中的源码实例涵盖了多个章节,提供了丰富的实践教学资源,帮助学习者深入理解和掌握HTML5在移动Web开发中的应用。 首先,我们来看一下每个子文件夹的可能内容: 1. `1963_01_code`:这可能是关于HTML5基础...

Global site tag (gtag.js) - Google Analytics