
盒子 原来的位置 0 + 10 盒子现在的offsetLeft 10
|-5| = 5
这三个函数都是 数学函数
Math
比如说 consolelog(Mathceil(101)) 结果 是 2
consolelog(Mathceil(19)) 结果 2
consolelog(Mathceil(-13)) 结果 是 -1
比如说 consolelog(Mathfloor(101)) 结果 是 1
consolelog(Mathfloor(19)) 结果 1
consolelog(Mathfloor(-13)) 结果 是 -2
consolelog(Mathround(101)) 结果 是 1
consolelog(Mathround(19)) 结果 是 2
匀速动画的原理: 盒子本身的位置 + 步长
缓动动画的原理: 盒子本身的位置 + 步长 (不断变化的)
( 缺陷:只能水平方向!随后的“封装运动框架单个属性会进一步改进” )
我们访问得到css 属性,比较常用的有两种:
点语法可以得到 width 属性 和 top属性 带有单位的 。 100px
但是这个语法有非常大的 缺陷, 不变的。
后面的width 和 top 没有办法传递参数的。
var w = width;
boxstylew
最大的优点 : 可以给属性传递参数
我们想要获得css 的样式, boxstyleleft 和 boxstylebackgorundColor
但是它只能得到 行内的样式。
但是我们工作最多用的是 内嵌式 或者 外链式 。
怎么办?
核心: 我们怎么才能得到内嵌或者外链的样式呢?
外部(使用<link>)和内嵌(使用<style>)样式表中的样式(ie和opera)
两个选项是必须的, 没有伪类 用 null 替代
我们这个元素里面的属性很多, left top width ===
我们想要某个属性, 就应该 返回该属性,所有继续封装 返回当前样式的 函数。
千万要记得 每个 的意思 : 那是相当重要
flag在js中一般作为开关,进行判断。
等动画执行完毕再去执行的函数 回调函数
我们怎么知道动画就执行完毕了呢?
很简单 当定时器停止了。 动画就结束了
案例源码:
in运算符也是一个二元运算符,但是对运算符左右两个 *** 作数的要求比较严格。in运算符要求第1个(左边的) *** 作数必须是字符串类型或可以转换为字符串类型的其他类型,而第2个(右边的) *** 作数必须是数组或对象。只有第1个 *** 作数的值是第2个 *** 作数的属性名,才会返回true,否则返回false
案例源码:
链接: > 密码:7fv8
要用最终样式解析元素被浏览器编译后的样式
function setColor()
{
var g_all = documentgetElementsByTagName("p");
var n = g_alllength;
for (var i = 0; i < n; i++)
{
//g_all[i]stylecolor="#000";
alert("aa--"+getStyle(g_all[i],'color'),+"--bb");
}
}
function getStyle(ele,key){
var val=elestyle[key];
if(!val){
if(documentdefaultView&&documentdefaultViewgetComputedStyle){
var css=documentdefaultViewgetComputedStyle(ele,null);
val=cssgetPropertyValue(key);
}else if(elecurrentStyle){
val=elecurrentStyle[key];
}
}
return val;
}
先获取元素style属性中的CSS样式
getComputedStyle 是一个可以获取当前元素所有最终使用的CSS属性值。返回的是一个CSS样式声明对象(objectCSSStyleDeclaration) getComputedStyle 方法获取的是最终应用在元素上的所有CSS属性对象(包括默认),而elementstyle只能获取元素style属性中的CSS样式。
JS控制css样式的几种方式
我们在js的工作学习中总会遇到一些不轻易通过style属性动态加载css样式的情况(eg:伪类的样式控制,动画的样式控制),这里总结一下js改变样式的几种方法:
1,通过style属性或者setAttribute()来更改样式
2,如果只是改变伪类(after,before)的content内容也可以这么做
3,通过更改类名来更改样式
4,那么重点来了:利用documentstyleSheets我们获取到所有样式表,然后选择一个样式表通过 insertRule 来添加样式;也可以创建新的cssRules,通过addRule()来添加样式
5,动态加载样式表
如果需要更改的样式比较多,还是建议通过动态加载样式的方式来改变页面样式
本文来自PHP中文网,原文地址: >
以上就是关于前端基本功:JS(十一)动画封装(CSS样式获取、JSON遍历)全部的内容,包括:前端基本功:JS(十一)动画封装(CSS样式获取、JSON遍历)、javascript style.color 获取颜色的疑问,不知怎么解决、js 乾坤获取不到子应用public的css等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!
欢迎分享,转载请注明来源:内存溢出
微信扫一扫
支付宝扫一扫
评论列表(0条)