js动画(四)
终于到了最后了,这里要告一段落了,整了个js运动框架,咳咳咳,好冷 啊啊啊啊啊啊,这天气。妈的,工资怎么也不发,啊,说好的
人与人之间的信任呢?哎,气诶,不到150字啊,又是这个梗。。怎么办?说些什么呢?哦,就是今天在尝试做那个,曲面阴影和翘边
阴影的时候,碰到一个问题,就是a:after这个层,想让他到a 层下面,因为a:after层把a层挡住了,搞了,眼睛都快找瞎了,哎,程序
员短命是有道理的。最后,的结果是,还是没找出来。回头要好好的去研究研究z-index这个属性,哪位道友愿意助一臂之力的请留言
,共同进步,共创美好未来。纠结诶,要不要放上来呢?纠结。。。。
这样150 总够了吧。。。。。
js动画同时运动
代码如下:
<script>
window.onload = function() {
var qwe = document.getElementById("sd");
qwe.timer = null;
var opacity = 30;
qwe.onmouseover = function() {
onStart(qwe,{"height":300,"width":400,"opacity":100},5);/*{}括起来的,是用到json,就是obj={a:11,b:12}for(var i in obj)这里的i遍历a,bobj[i],就是所对应的值,,可以去搜一下。*/
}
qwe.onmouseout = function() {
onStart(qwe,{"height":100,"width":200,"opacity":30},-5);
}
} function getStyle(obj, attr) { /*obj对象,就是你要搞哪个元素,attr属性,你要搞哪个的属性*/
if(obj.currentStyle) {
return obj.currentStyle[attr]; /*.currentStyle针对IE*/
} else {
return getComputedStyle(obj, false)[attr]; /* getComputedStyle针对firebox浏览器*/
}
}/*js动画(三)讲过,直接拿来用就可以了*/ function onStart(obj, json, speed,fn) {
clearInterval(obj.timer);/*清除定时器*/
obj.timer = setInterval(function(){ /&定时器实例&/
for(var attr in json){ /*这里就是json for in遍历嘛,就是能同时进行运动的关键*/
if(attr == "opacity"){
var lo = parseInt(getStyle(obj,attr)*100);
/*变速,这里为什么会多减1多加1,你打开调试工具,然后看着的那个数值,和你的目标值对比,你就知道了,可能还要改其他数字*/
speed = (json[attr]-lo)/10;
speed=speed>0?Math.ceil(speed+1):Math.floor(speed); }
else{
var lo = parseInt(getStyle(obj,attr));
/*变速*/
speed = (json[attr]-lo)/8;
speed=speed>0?Math.ceil(speed+2):Math.floor(speed-1);
}
if(lo == json[attr]){
clearInterval(obj.timer);
if(fn){
fn();/*回调函数,是什么东东呢?他可以继续执行这个函数的关键,也就是,链式运动的关键*/
}
}
else{
if(attr == "opacity")
{
lo = (lo+speed)/100;
obj.style[attr] = lo;/*这个又是什么呢?其实就是这样了,obj.style.attr=lo,懂了吧!这样写,我是为了,整合width,height,等差不多格式的*/
} obj.style[attr] = lo+speed+"px";/*跟上面一样,写不下了,写这里,为了上次js动画(三)提出的整合width和height,不信你去看js动画(三),那样很烦*/
}
}
},30) }
js动画(四)的更多相关文章
- JavaScript是如何工作的: CSS 和 JS 动画底层原理及如何优化它们的性能
摘要: 理解浏览器渲染. 原文:JavaScript是如何工作的: CSS 和 JS 动画底层原理及如何优化它们的性能 作者:前端小智 Fundebug经授权转载,版权归原作者所有. 这是专门探索 J ...
- JS动画与CSS3动画
Js动画 show / hide var div = $('#test-show-hide'); div.show('slow'); // 在0.6秒钟内逐渐显示 div.hide(3000); // ...
- 前端(十六)—— JavaScript盒子模型、JS动画、DOM、BOM
JS盒子模型.JS动画.DOM.BOM 一.JS盒模型 1.width | height parseInt(getComputedStyle(ele, null).getPropertyValue(' ...
- 循序渐进BootstrapVue,开发公司门户网站(2)--- 使用wow.js动画组件以及自定义的CSS样式处理动态效果
在我们开发的页面中,让页面有一些动画效果,可以让页面更加有吸引力,只要不是处理太过,一般人还是希望有一些动态效果,如滚动动画加载,悬停处理变化等效果,本篇随笔介绍使用wow.js动画组件以及自定义的C ...
- 【06-23】js动画学习笔记01
<html> <head> <style> * { margin:0; padding:0; } #div1{ width:200px; height:200px; ...
- css动画与js动画的区别
CSS动画 优点: (1)浏览器可以对动画进行优化. 1. 浏览器使用与 requestAnimationFrame 类似的机制,requestAnimationFrame比起setTimeout ...
- CSS VS JS动画,哪个更快[译]
英文原文:https://davidwalsh.name/css-js-animation 原作者Julian Shapiro是Velocity.js的作者,Velocity.js是一个高效易用的js ...
- JS动画理论
动画(Animation) 动画意味着随着时间而变化,尤其指视觉上的变化,包括位置.形态等的变化.运动基本上表现为物体随时间,发生位置上的变化:形态基本表现为大小.颜色.透明度.形状等随时间的变化. ...
- css与 js动画 优缺点比较
我们经常面临一个抉择:到底使用JavaScript还是CSS动画,下面做一下对比 JS动画 缺点:(1)JavaScript在浏览器的主线程中运行,而主线程中还有其它需要运行的JavaScript脚本 ...
随机推荐
- Android Studio的使用(四)--生成Get、Set方法
如何快速生成Get.Set方法,在我们编程中经常使用,下面将详细介绍. 1.右击代码编辑区域,并选择Generate. 2.在弹出框中选择Getter and Setter. 3.在弹出框中全选所有变 ...
- Hibernate---O/R Mapping
1. JDBC数据库繁琐 2. sql语句不是面向对象 3. 可以在对象和关系表之间建立关联简化编程 4. O/R Mapping可以简化编程, 跨越数据库平台 比较流行的O/R Mapping Fr ...
- cakephp 2.0 源码解读(一)
lib - Cake -basic.php -bootstrap.php -Cache -Config -Configure -Controller -Core -Error -Event -I18n ...
- 通过条件注释<!--[if IE]><!-->判断浏览器
有时我们会在网站头部看到: <!--[if IE 7]> <![endif]--> 或者 <!--[if lt IE 9]> <![endif]--> ...
- iOS开发——NSArray中的字符串排序
NSArray *arr = @[@"fjhsf",@"wert",@"fdg",@"asd",@"fs g ...
- Windwos下 php mysql apache 环境配置
一.下载所需软件: 1.安装Windows组件: 安装Apache的前 必须安装 VC11 vcredist_x86.exe (64位请下载vcredist_x64.exe),选择时尽量选择英文版 ...
- codeforces #309 DIV2
这场并没有做,做的赛后的,太晚了时间,中午做了两题,稍微贴一下,剩余的题目本周争取补完 A题: 链接:http://codeforces.com/contest/554/problem/A #incl ...
- mysql 查找重复的数据
Select Name,Count(*) From A Group By Name Having Count(*) > 1 Name是字段
- highcharts柱状图和饼图的数据填充
1.其实数据填充很简单,它们就是json的格式,然后后台按照这种格式去套数据发给前端:前端再做一下连接处理等就行了. $('#program_statistics_bar').highcharts({ ...
- Android studio开多个窗口引起的问题
1.clean 的时候,intermediates删不掉 2.出现:app:compile_DebugJavaWithJavac 没有具体错误 出现以上问题的时候只要把多余的删除,记得只留一个在当前窗 ...