js实现一套代码来控制所有的运动,图片的淡入淡出,winth,height的变宽

介绍了那么多运动,這次一套代码实现所有运动

1.html代码和css代码,只是定义一个div

 1 <style>
 2     div{
 3         width:200px;
 4         height:200px;
 5         margin:20px;
 6         float:left;
 7         background:yellow;
 8         border:10px solid black;
 9         filter:alpha(opacity:30);
10         opacity:0.3;
11     }
12 </style>
13 <body>
14 <div id="div1">
15
16 </div>
17
18 </body>

2.js代码部分

 1 <script>
 2     window.onload=function()
 3     {
 4         var div=document.getElementById(‘div1‘);
 5         div.onmouseover=function()
 6         {
 7             startMove(this,‘height‘,1000);
 8         }
 9         div.onmouseout=function()
10         {
11             startMove(this,‘height‘,50);
12         }
13     };
14     function getStyle(obj,name)    //兼容性问题,修改非行间的css
15     {
16         if (obj.currentStyle)//chrome和firefox
17         {
18               return obj.currentStyle[name];
19         }
20         else//ie浏览器
21         {
22             return getComputedStyle(obj,false)[name];
23         }
24     }
25     function startMove(obj,attr,iTarget)
26     {
27         clearInterval(obj.timer);
28         obj.timer=setInterval(function()
29             {
30                 var cur=0;
31                 if (attr=="opacity")   //判断传入的参数是不是透明度
32                 {
33                     cur=parseFloat(getStyle(obj,attr))*100;  //强制转换为浮点数
34                 }
35                 else   //如果不是透明度,执行這句
36                 {
37                     cur=parseInt(getStyle(obj, attr));  //返回传入要修改的属性的值
38                 }
39                 var speed=(iTarget-cur)/100 ;  //设置速度
40                 speed=speed>0?Math.ceil(speed):Math.floor(speed);  //取上下限
41
42                 if(cur==iTarget)  //当等于要实现的值时停止
43                 {
44                     clearInterval(obj.timer);
45                 }
46                 else
47                 {
48                     if (attr==‘opacity‘)  //如果是透明度,兼容性。写两句
49                     {
50                         obj.style.filter=‘alpha(opcity:‘+(cur+speed)+‘)‘;  //chrome和firefox
51                         obj.style.opacity=(cur+speed)+‘px‘;  //ie
52                     }
53                     else   //要修改的是其他,直接修改他的值
54                     {
55                         obj.style[attr]=cur+speed+‘px‘;
56                     }
57                 }
58             },
59             30)
60     }
61 </script>
时间: 2024-08-01 22:47:18

js实现一套代码来控制所有的运动,图片的淡入淡出,winth,height的变宽的相关文章

(42)JS运动之多物体框架--多个div变宽

如果只为div添加一个定时器的话,在多个div变宽的时候会发生问题,但是如果为每个div添加一个定时器,那么就可以实现多个物体变宽.注意:在多物体运动的情况下,所有东西不能共用.offsetXXX会跟border冲突导致不能得到想要的结果,在这里可以用getStyle()函数代替. function getStyle(obj, name) { if(obj.currentStyle) { return obj.currentStyle[name]; } else { return getComp

js实现图片的淡入淡出

思想: 其实是运动的一种,就是当鼠标移入div中时,将div的透明度变大, 当鼠标移动出来的时候透明度变回原来. 你可以尝试写一下,不会再看看代码 <style> #div1{ width:200px;height:200px; background:red; filter:alpha(opacity:30);opacity:0.3; margin:0 auto; } </style> <body> <div id="div1"> <

一套代码小程序&amp;Web&amp;Native运行的探索01

前言 前面我们对微信小程序进行了研究:[微信小程序项目实践总结]30分钟从陌生到熟悉 并且用小程序翻写了之前一个demo:[组件化开发]前端进阶篇之如何编写可维护可升级的代码 之前一直在跟业务方打交道后面研究了下后端,期间还做了一些运营.管理相关工作,哈哈,最近一年工作经历十分丰富啊,生命在于不断的尝试嘛. 当然,不可避免的在前端技术一块也稍微有点落后,对React&Vue没有进行过深入一点的研究,这里得空我们便来一起研究一番(回想起来写代码的日子才是最快乐的??),因为我们现在也慢慢在切Rea

js css样式操作代码(批量操作)

js css样式操作代码(批量操作) 作者: 字体:[增加 减小] 类型:转载 时间:2009-10-09 用js控制css样式,能让网页达到良好的的用户体验甚至是动画的效果.并且考虑到效率. 我们用js书写css样式通常会用下面的两种方式: 一般情况下我们用js设置元素对象的样式会使用这样的形式: 复制代码 代码如下: var element= document.getElementById(”id”); element.style.width=”20px”; element.style.he

JS弹出窗口代码大全(详细整理)

1.弹启一个全屏窗口 复制代码代码如下: <html> <body http://www.jb51.net','脚本之家','fullscreen');">; <b>www.jb51.net</b> </body> </html> 2.弹启一个被F11化后的窗口 复制代码代码如下: <html> <body 'http://www.jb51.net','脚本之家','channelmode');"

[Ext JS 4] 实战之Chart 坐标控制(单坐标,双坐标)

前言 在Extjs 中, 单一的 Column Chart 的展示效果如上. 定义的步骤如下: 1.  创建一个 Ext.chart.Chart 2. 创建两个坐标轴, axes 一个 Category 类型的横坐标用来显示日期 一个Numeric 类型的纵坐标用来显示数据 3. 配置显示的图 series 配置 column 类型的柱状图. 具体代码如下: <!-- Author : oscar999 Date : ALL RIGHTS RESERVED --> <!DOCTYPE h

一套代码小程序&amp;Web&amp;Native运行的探索05——snabbdom

接上文:一套代码小程序&Web&Native运行的探索04——数据更新 对应Git代码地址请见:https://github.com/yexiaochai/wxdemo/tree/master/mvvm 参考: https://github.com/fastCreator/MVVM(极度参考,十分感谢该作者,直接看Vue会比较吃力的,但是看完这个作者的代码便会轻易很多,可惜这个作者没有对应博客说明,不然就爽了) https://www.tangshuang.net/3756.html ht

黄聪:如何用代码设置控制自己网站的网页在360浏览器打开时强制优先使用极速模式,而非兼容模式

最近用360浏览器访问自己的网站,发现都是被优先选用兼容模式打开,这使得网站很难看.为了让360浏览器打开网站的时候优先试用极速模式,找了一下官方论坛,发现了解决方案. 在head标签中添加一行代码: <html> <head> <meta name="renderer" content="webkit|ie-comp|ie-stand"> </head> <body> </body> <

js格式化数字实例代码

js格式化数字实例代码:数字往往需要进行一定的格式化,一来是便于阅读,二来是实际需要,比如钱数就常常按千位逗号分隔,下面就是一个这样的函数能够是此功能,并且能够保留指定书目的小数,且自动实现四舍五入效果.代码实例如下: function fmoney(s,n) { n=n>0&&n<=20?n:2; s=parseFloat((s+"").replace(/[^\d\.-]/g,"")).toFixed(n)+"";