分类目录归档:javascript

toFixed保留小数位数-javascript

这是一个笔记,如果有什么建议或学习意见或错误可以留言提出来。
[爪机博]
[想直接看正文请往最底下看]

之前突发奇想要做个什么东西,需要截断小数点后指定位数的小数,当时还不知道有toFixed这个方法,于是乎我自己想了很多伤资源的方法,比如乘以10的几次方以后舍小数再除回去之类的。这是一段悲剧的思考过程,考虑了一堆事情,为了纪念浪费掉的这段时间[对我来说待在学校里比这还浪费时间],我决定特意为这个方法写一篇博文来mark一下。

似乎是正文:
toFixed是一个Number对象的方法,主要用来保留小数,然后它的用法是

Ps:
小数最后一位采用四舍五入。
位数为0〜20的整数,参数错误会抛出异常。
如果参数大于le+21(这是啥?)的话,会返回指数形式的数[结果是string类型]。
如果小数本身位数不足指定位数,会用0补足。
默认参数是0,也就是不输入参数的话它的行为是保留整数。

正文似乎结束了。

server-sent 服务器主动发送事件

以前的HTML版本中,要获取实时数据,必须要不断向服务器发出请求来查询有没有新内容,这样不管从建立连接还是等待时间来说都是要多苦逼就有多苦逼啊(微观来说),[最近死在学校里实在没事做就去逛了逛w3,中文的w3school更新比英文版慢了不知多少啊]然后我发现了w3的html专版里多出了一个HTML5 服务器发送事件这东西。
看了一下他的介绍大概知道她是干什么用的了,简单地说就是用javascript建立一个长连接到一个网页脚本,然后脚本就可以按需向浏览器页面主动发送数据。

下面来解释一下工作方式

javascript设置默认参数

在javascript里是不可以用

这种方式定义参数的默认值的,但是默认值又是一个很有用的东东,它可以设置一些普遍使用的参数来减小使用时候的麻烦。
那么总会有办法解决这种奇葩的问题的。

接下来就是见证奇迹的时刻!

这个时候使用它

肿么会这样纸呢?细心的小(hao)朋(ji)友们应该可以发现这么一个[arguments[1]?arguments[1]:”c的默认值”],而且第一次调用a()的时候输入了两个参数。

原因就是:
首先,js不会因为输入的参数个数和定义时的个数不一样而报错
然后,函数中有一个叫做arguments的数组来保存输入函数的参数

这样就可以知道了,在arguments[1]?arguments[1]:”c的默认值”里,arguments[1]就是输入函数的第二个参数(数组的编号从0开始)(首先在这里假如你知道?:操作符的用法,不知道请先去百度回炉。。)


感谢@BlackGlory的提醒

这种方法更加简便

iframe元素操作

本文所有内容均未测试,只是看着参考写出来的笔记,不保证内容的准确性,如果发现了错误请指出谢谢。

在很久很久以前(其实是忘了时间。。。)我发现iframe内部的内容是可以在iframe外面操作的。

在这之前我曾经把Glory的blog做了iframe放在我的佳佳实验室里,然后他一脸黑线,现在我终于知道是为什么了~

接下来进入正文

访问iframe元素的关键就在于要知道连接到iframe的方法,看下面

[PS:不同方法在不同浏览器里可能不可用]

继续阅读iframe元素操作

视频手动载入js

俺花了好长时间,用我这不熟练的技术好不容易做了个带满缺点的js
那么这货的用处就是屏蔽掉flash这样的东西【当然如果修改一下js可以屏蔽掉body里的任何标签
先来个示例【有视频有真相
embed标签的例子(无视频源)video标签的例子(同上)

object标签的例子(同上)

其实屏蔽了以后看起来都是一样的。。

这货的功能:点击以后再载入,防止意外流量损失或带宽?占用
这就是个鲜明的例子http://blog.luojia.tk/?p=181
里面装满了视频,这样就可以解决打开这个网页一下载入很多视频的问题了

原理:让div插队再干掉背后的原标签并给这个div添加可以给自己内部写入被杀掉标签的事件↓

特点:插队的div使用源元素的宽高和定位【本来想把z-index也算进去的,时间不够就不做了↓

全代码↓

没时间了所以还有些可能出错的地方没做错误处理,以后来补上

document.createElement()

正在SB的制作找喷的底栏中,为了装到B的效果,所以要做成一个完整的可以对底栏进行操作的对象,自然就要创建标签了。
假如用innerHTML的话,会出现各种苦逼,why就自己思考吧。。
所以使劲百度,找到了document.createElement()这个东西
它的作用:创建标签
可创建标签:所有(IE请另当别论)
用法

创建以后会返回一个对象,所以创建的时候要用个变量(对象)来把返回值接住,像这样

然后创建好的标签不会自己显示出来【浏览器表示迷路了<( ̄▽ ̄)> 哇哈哈…】,所以我们要给它指一下路
这里要用到appendChild()和insertBefore() 两个。。函数?

这样就可以创建很多可以控制的标签而不用每个标签都设置id啦!
(>^ω^<)

offsetWidth和offsetHeight

之前一直在为没法知道一个不确定宽高元素的实际宽高而困扰,结果发现用style.width和style.height获取的都是在元素里定义的值
偶然发现了以前经常见到但是又怕麻烦所以没去接触的offsetWidth和offsetHeight,这两个可以获取一个元素在页面中占用的实际尺寸,不管有没有定义。
比如

弹出警告窗显示627(也就是现在div由于里面的文字而撑开来以后所占的宽度)

给wordpress加上了个代码显示函数

原理:文档加载完成以后运行相关函数修改所有code标签

首先要做一件事,把加载文章的php的一个函数修改一下,阻止其给code标签内自动把\n换行替换成<br>标签(这个问题苦了我好久吖╮(╯3╰)╭),函数名wpautop,此函数位于/wp-includes/formatting.php中,找到这个函数里的

这一行,括号里加上|code,变成这样:

【这要怎么理解呢。。应该就算是不进行修改的标签列表吧】
然后一切就都方便了,给onLoad加上自己的code处理函数。
以下是我的code处理函数:

然后onLoad加上changecodetag()

暂时没做出高亮,而且还有些小小的问题。就先摆在这里了。
另外谁可以告诉我最后总有一个空行是肿么回事捏?
后期可能有改动,文章就不改了,详见源代码。

做了个元素拖动实验

iframe框引用demo:

原始demo地址:http://www.luojia.tk/shiyanshi.php?id=moveelement

代码:

ajax那啥的通用框架

ajax虾米的最有爱了,用起来也很方便。。【第一次写长文,出错请留言来让我改正】

继续阅读ajax那啥的通用框架