这个事css干不了吧,怎么也得用上js。
css只能改变显示的样子,在Dom中做改动得用js了
js代码拿去用:
function number_format(number, decimals, dec_point, thousands_sep) {/*
* 参数说明:
* number:要格式化的数字
* decimals:保留几位小数
* dec_point:小数点符号
* thousands_sep:千分位符号
* */
number = (number + '').replace(/[^0-9+-Ee.]/g, '')
var n = !isFinite(+number) ? 0 : +number,
prec = !isFinite(+decimals) ? 0 : Math.abs(decimals),
sep = (typeof thousands_sep === 'undefined') ? ',' : thousands_sep,
dec = (typeof dec_point === 'undefined') ? '.' : dec_point,
s = '',
toFixedFix = function (n, prec) {
var k = Math.pow(10, prec)
return '' + Math.ceil(n * k) / k
}
s = (prec ? toFixedFix(n, prec) : '' + Math.round(n)).split('.')
var re = /(-?\d+)(\d{3})/
while (re.test(s[0])) {
s[0] = s[0].replace(re, "$1" + sep + "$2")
}
if ((s[1] || '').length < prec) {
s[1] = s[1] || ''
s[1] += new Array(prec - s[1].length + 1).join('0')
}
return s.join(dec)
}
使用方法:
var num=number_format(1234567.089, 2, ".", ",")//1,234,567.09我只写了一个字的变色其他也是一样的 利用随机数生成颜色编码 然后改写css每次刷新 颜色都不一样
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/htmlcharset=gb2312" />
<title>会变色的字</title>
</head>
<body>
<p id="ppp"><b>会变色的字</b></p>
</body>
<script>
var chars = ['0','1','2','3','4','5','6','7','8','9','A','B','C','D','E','F']
function generateMixed(n) {
var res = ""
for(var i = 0i <n i ++) {
var id = Math.ceil(Math.random()*16)
res += chars[id]
}
return res
}
var num = generateMixed(6)
var p = document.getElementById('ppp')
p.style.color = "#"+num
</script>
</html>
盒子 原来的位置 0+ 10 盒子现在的offsetLeft 10
|-5| = 5
这三个函数都是 数学函数
Math
比如说 console.log(Math.ceil(1.01)) 结果 是 2
console.log(Math.ceil(1.9))结果 2
console.log(Math.ceil(-1.3)) 结果 是 -1
比如说 console.log(Math.floor(1.01)) 结果 是 1
console.log(Math.floor(1.9)) 结果 1
console.log(Math.floor(-1.3)) 结果 是 -2
console.log(Math.round(1.01)) 结果 是 1
console.log(Math.round(1.9)) 结果 是 2
匀速动画的原理: 盒子本身的位置 + 步长
缓动动画的原理:盒子本身的位置 + 步长 (不断变化的)
( 缺陷:只能水平方向!随后的“封装运动框架单个属性会进一步改进” )
我们访问得到css 属性,比较常用的有两种:
点语法可以得到 width 属性 和 top属性 ** 带有单位的 。 100px
但是这个语法有非常大的 缺陷**, 不变的。
后面的width 和 top 没有办法传递参数的。
var w = width
box.style.w
最大的优点 : 可以给属性传递参数
我们想要获得css 的样式, box.style.left 和 box.style.backgorundColor
但是它只能得到 行内的样式。
但是我们工作最多用的是 内嵌式 或者 外链式 。
怎么办?
核心: 我们怎么才能得到内嵌或者外链的样式呢?
外部(使用<link>)和内嵌(使用<style>)样式表中的样式(ie和opera)
两个选项是必须的, 没有伪类 用 null 替代
我们这个元素里面的属性很多, left top width ===
我们想要某个属性, 就应该 返回该属性,所有继续封装 返回当前样式的 函数。
千万要记得 每个 的意思 : 那是相当重要
flag在js中一般作为开关,进行判断。
等动画执行完毕再去执行的函数 回调函数
我们怎么知道动画就执行完毕了呢?
很简单 当定时器停止了。 动画就结束了
案例源码:
in运算符也是一个二元运算符,但是对运算符左右两个操作数的要求比较严格。in运算符要求第1个(左边的)操作数必须是字符串类型或可以转换为字符串类型的其他类型,而第2个(右边的)操作数必须是数组或对象。只有第1个操作数的值是第2个操作数的属性名,才会返回true,否则返回false
案例源码:
链接: http://pan.baidu.com/s/1miEvqoo
密码:7fv8