【06-23】js动画学习笔记01

  1 <html>
  2     <head>
  3         <style>
  4 * {
  5     margin:0;
  6     padding:0;
  7 }
  8 #div1{
  9     width:200px;
 10     height:200px;
 11     background:red;
 12     position:relative;
 13     left:-200px;
 14     top:0;
 15 }
 16 #div1 span{
 17     width:20px;
 18     height:50px;
 19     background:skyblue;
 20     position:absolute;
 21     left:200px;
 22     top:75px;
 23 }
 24
 25
 26 #testOpacity{
 27     margin-top:50px;
 28     width:200px;
 29     height:200px;
 30     background:red;
 31     filter:alpha(opacity:30);
 32     opacity:0.3
 33 }
 34
 35
 36 #bufferAction{
 37     margin-top:50px;
 38     width:200px;
 39     height:200px;
 40     background:red;
 41     position:relative;
 42     left:-200px;
 43     top:0;
 44 }
 45 #bufferAction span{
 46     width:20px;
 47     height:50px;
 48     background:skyblue;
 49     position:absolute;
 50     left:200px;
 51     top:75px;
 52 }
 53
 54         </style>
 55         <title>js动画test</title>
 56     </head>
 57     <body>
 58         <div id="div1">
 59             <span id="share">分享</span>
 60         </div>
 61         <script>
 62             var div1=document.getElementById("div1");
 63             div1.onmouseover=function(){
 64                 startMove(div1,10,0);
 65             }
 66             div1.onmouseleave=function(){
 67                 startMove(div1,-10,-200);
 68             }
 69             var timer=null;
 70             /*使用offsetLeft实现滑动动画*/
 71             function startMove(obj,speed,target){
 72                 clearInterval(timer);
 73                 timer=setInterval(function(){
 74                     if(obj.offsetLeft==target){
 75                         clearInterval(timer);
 76                     }else{
 77                         obj.style.left=obj.offsetLeft+speed+"px";
 78                     }
 79                 },30);
 80             }
 81         </script>
 82
 83         <div id="testOpacity">
 84         </div>
 85         <script>
 86             var opacityObj=document.getElementById("testOpacity");
 87             opacityObj.onmouseover=function(){
 88                 changeOpacity(this,5,90);
 89             }
 90             opacityObj.onmouseleave=function(){
 91                 changeOpacity(this,5,10);
 92             }
 93             var opacityTimer=null;
 94             /*使用opacity实现渐变*/
 95             function changeOpacity(obj,speed,target){
 96                 clearInterval(opacityTimer);
 97                 var currentOpacity=obj.style.opacity*100;
 98                 opacityTimer=setInterval(function(){
 99                     if(target==currentOpacity){
100                         clearInterval(opacityTimer);
101                     }else{
102                         if(target>currentOpacity){
103                             speed=Math.abs(speed);
104                         }else{
105                             speed=-Math.abs(speed);
106                         }
107                         currentOpacity+=speed;
108                         obj.style.opacity=currentOpacity/100;
109                         obj.style.filter=‘alpha(opacity:‘+currentOpacity+‘)‘;
110                     }
111                 },30);
112             }
113         </script>
114
115         <div id="bufferAction">
116             <span id="bufferActionSpan">分享</span>
117         </div>
118         <script>
119             var opacityObj=document.getElementById("bufferAction");
120             opacityObj.onmouseover=function(){
121                 bufferAction(this,10,0);
122             }
123             opacityObj.onmouseleave=function(){
124                 bufferAction(this,10,-200);
125             }
126             var bufferTimer=null;
127             /*模拟渐进效果*/
128             function bufferAction(obj,speed,target){
129                 clearInterval(bufferTimer);
130                 speed=speed>0? Math.ceil(speed):Math.floor(speed);
131                 bufferTimer=setInterval(function(){
132                     if(target==obj.offsetLeft){
133                         clearInterval(bufferTimer);
134                     }else{
135                         if(target>obj.offsetLeft){
136                             speed=Math.ceil((target-obj.offsetLeft)/20);
137                         }else{
138                             speed=Math.floor((target-obj.offsetLeft)/20);
139                         }
140                         obj.style.left=obj.offsetLeft+speed+"px";
141                     }
142                 },30);
143             }
144         </script>
145
146     </body>
147
148 </html>
1 /*
2 offsetLeft和left的区别:
3     offsetLeft获取相对于父对象的左边距
4     left获取或设置相对于具有定位属性(position定义为relative)的父对象的左边距
5
6     offsetLeft返回的数值,left返回的是带px的字符串
7     style.left是读写的,offsetLeft是只读的
8 */
 1 /*
 2 css布局:
 3     position:absolute相对于使用了position的父级元素,如果没有则以body为参照
 4
 5     relative相对定位,相对于原来的位置,但是原来的位置仍然保留
 6     absolute定位,相对于最近的非标准定位,原来的位置消失,被后边的位置所顶替
 7
 8     只用absolute和relative定位多样的页面,真是漂亮。
 9
10 */
 1 /*
 2     window.opener:
 3         window.opener可以获取转到当前页面的父页面window对象,可以通过其调用父页面的所有对象和方法
 4     博客园的tag跳转连接:
 5         window.open(‘/tags/list?id=*****‘,‘_blank‘,‘width=300,height=500,toolbars=yes,resizable=yes,scrollbars=yes,left=‘+leftVal+‘,top=‘+topVal);
 6
 7
 8     刷新当前页可以用:
 9     window.location="javascript:document.location.reload()";
10 */
时间: 2024-10-14 04:16:01

【06-23】js动画学习笔记01的相关文章

js/jquery学习笔记

javascript简介 JavaScript是一种基于对象和事件驱动并具有相对安全性的客户端脚本语言. 不同于服务器端脚本语言,例如PHP与ASP,JavaScript是客户端脚本语言,也就是说JavaScript是在用户的浏览器上运行,不需要服务器的支持而可以独立运行 . JavaScript是一种脚本语言,其源代码在发往客户端运行之前不需经过编译,而是将文本格式的字符代码发送给浏览器由浏览器解释运行.解释语言的弱 点是安全性较差,而且在JavaScript中,如果一条运行不了,那么下面的语

Silverlight动画学习笔记(三):缓动函数

(一)定义: 缓动函数:可以将自定义算术公式应用于动画 (二)为什么要用缓动函数: 您可能希望某一对象逼真地弹回或其行为像弹簧一样.您可以使用关键帧动画甚至 From/To/By 动画来大致模拟这些效果,但可能需要执行大量的工作,并且与使用算术公式相比动画的精确性将降低. (三)实例讲解: 1 <UserControl x:Class="AnimationStudy.EasingFunctionAnimation" 2 xmlns="http://schemas.mic

【zepto学习笔记01】核心方法$()(补)

前言 在很久之前,我们项目有一个动画功能,功能本身很简单,便是典型的右进左出,并且带动画功能 以当时来说,虽然很简单,但是受限于框架本身的难度,就直接使用了CSS3的方式完成了功能 当时主要使用transform与animation实现功能,并且用了一个settimeout执行回调,然后此事便不了了之了 但是出来混总是要还的,这不,最近相似的东西又提了出来,我们当然可以将原来的那套东西拿来用,但是看着那个settimeout总是不是滋味,因为这样捕捉回调的效果以及可能引起的BUG大家都懂,于是就

SWIFT学习笔记01

1.Swift,用来判断option是不是nil,相当于OC的 if(option) if let name = option{ greeting = "if=====" }else{ greeting = "else===" } 2.运行switch中匹配到的子句之后,程序会退出switch语句,并不会继续向下运行,所以不需要在每个子句结尾写break. 3.//使用..创建的范围不包含上界,如果想包含的话需要使用...,集合上,就是[)与[]的关系 for i

MVC4 学习笔记01

1 . ASP.NET MVC 中 ActionResult 和 ViewResult 在使用上的区别是什么?要注意什么吗? ActionResult 是一个抽象(abstract)类,ViewResult 只是ActionResult 的一个实现(implementation).如果你确认你返回的是一个视图(view),你可以直接返回类型为ViewResult.ActionResult 有很多的派生类,如果你很确定你要返回的类型,你可以明确的返回该类型.如果你并不是很清楚,或者你根本不想去理解

C++学习笔记——01

最近准备跳槽的事情,于是把C++翻出来看,顺便做了一些练习,主要是数据结构方面的,就贴在这里做个系列,权当督促自己了. 第一天,写了一个栈,调试了下没什么问题,内存泄露的问题也解决了. 1 #ifndef STACK_H 2 #define STACK_H 3 4 #include "stdlib.h" 5 #include "iostream" 6 7 class Stack 8 { 9 private: 10 typedef int NODE_DATA_TYPE

【opengl 学习笔记01】HelloWorld示例

<<OpenGL Programming Guide>>这本书是看了忘,忘了又看,赶脚还是把笔记做一做心里比较踏实,哈哈. 我的主题是,好记性不如烂笔头. ================================================================ 1. 下载glut库 glut库地址为:www.opengl.org/resources/libraries/glut/glutdlls37beta.zip glut全称为:OpenGL Utilit

绘图与动画学习笔记(一)

1. 处理图形与动画的框架有 UIKit 高层次的框架,允许开发人员创建视图.窗口.按钮和其他UI相关的组件.它还将一些低级别的API引入到易于使用的高级别API中 Quartz 2D iOS上绘图的主要引擎:UIKit就使用Quartz. Core Graphics 它支持图形上下文.加载图像.绘制图像,等等. Core Animation 顾名思义,是一个帮助开发者在IOS上实现动画的框架 2. UIColor的set方法可设置Graphical context的颜色 - (void)dra

HTTP 学习笔记01

HTTP   hypertext transfer protocol (超文本传输协议) TCP/IP 协议集中的一个应用层协议 用于定义WEB浏览器与WEB服务器之间交换数据的过程以及数据本身的格式 HTTP 1.0  会话方式 HTTP 1.1 方式 HTTP 请求消息结构 一个请求行,若干消息头,以及实体内容 其中的一些消息头和实体内容都是可选的,消息头和实体内容之间要用空行隔开. GET   方式下是没有实体内容的 POST .PUT.DELETE 方式下请求消息才可以包含实体内容 HT