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脚本 ...
随机推荐
- Windows系统字体与文件对照表
源:Windows系统字体与文件对照表 宋体 (TrueType) = SIMSUN.TTF 黑体 (TrueType) = simhei.ttf 楷体_GB2312 (TrueType) = sim ...
- Bluez SPP实现代码分析(转)
源:http://blog.csdn.net/walkingman321/article/details/7218705 本文分析蓝牙协议栈中蓝牙转串口(SPP)部分的实现. 1. 基本概念 Blu ...
- docker-compose 所带来的方便
docker-compose 是一款开源的docker 简化复杂容器环境的管理工具 . docker-compose 在结合Swarm 与 docker 进程化容器部署可以很方便的部署一套环境. 具体 ...
- 用 JS 点击左右按钮 使图片切换 - 最精简版-ljx2380000-ChinaUnix博客
body { font-family: "Microsoft YaHei UI","Microsoft YaHei",SimSun,"Segoe UI ...
- CentOS 6.4 x64 安装 配置 Redmine 2.4.1
Redmine 安装配置 1. 安装Redmine 所需的依赖 首先安装 yaml wget http://pyyaml.org/download/libyaml/yaml-0.1.4.tar.gz ...
- sencha touch视频教程
链接地址:http://v.youku.com/v_show/id_XOTI1MDg1ODQ4.html
- Objective-c学习笔记3
objective-c代码块多并发 1.代码块对象是对C语言中函数的扩展,除了函数中的代码,代码块还包含有变量绑定,代码块有时也被称为闭包 2.代码块包含两种绑定类型,自动绑定使用的是栈空间,托管绑定 ...
- CodeForces 626D Jerry's Protest
计算前两盘A赢,最后一盘B赢的情况下,B获得的球的值总和大于A获得的球总和值的概率. 存储每一对球的差值有几个,然后处理一下前缀和,暴力枚举就好了...... #include<cstdio&g ...
- js 截取字符串里的ip
var ip_reg = /([\d\.]*)/ig; ip = ip_reg.exec(str); return ip; ip_reg会截取 '(' 开始的字符串,中间包含数字和 '.' .
- HUST 1606 Naive
预处理一下,然后o(1)询问. #include<cstdio> #include<cstring> #include<cmath> #include<str ...