标签归档:JavaScript

鼠标页面坐标

一个常见的需求,无数人写过的东西,记录于此。

function mousePos (event) {
    e = event || window.event;
    doc = document.body || document.documentElement;
    return {
        'x' : e.pageX || e.clientX + doc.scrollLeft,
        'y' : e.pageY || e.clientY + doc.scrollTop
    };
}

JS版本的迅雷、旋风和普通链接的转换

偶尔看到个PHP版本的迅雷、快车、QQ旋风专有链接的转换,然后看了一下迅雷、快车、QQ旋风专链转换原理,再加上看到说除IE外的浏览器都已经支持base64的加密、解密,其中btoa是加密,atob是解密。一时兴起,就写了个JS版本。

demo地址

Table注意事项

首先是一段 HTML 代码:

<table id="tb">     
    <tr><td>1</td><td>2</td><td>3</td><td>4</td></tr>
    <tr><td>5</td><td>6</td><td>7</td><td>8</td></tr>
    <tr><td>9</td><td>10</td><td>11</td><td>12</td></tr>            
    <tr><td>13</td><td>14</td><td>15</td><td>16</td></tr>
</table>

DOM解析

对于一段 table 的 HTML 代码,即使没有显式写出 tbody 结构,浏览器在解析的时候都会加上 tbody 结构。所以,对于以上代码,若想获取第一行,需要使用代码:

document.getElementById('tb').lastChild.firstChild; //第一行
//document.getelementById('tb').lastChild 得到的不是最后一行而是 tbody

继续阅读

JavaScript 中的闭包

一个闭包,简单地说,就是一个函数以及其定义时的上下文环境。

用代码来解释会更直观一点:

function outerFn() {
    var name = "outer";
    function innerFn() {
        alert(name);
    }
    return innerFn;
}
var myFunc = outerFn();
myFunc();   // output "outer"

这样,myFunc 便是一个闭包,其包括了函数 innerFn() 和其上下文环境 name
继续阅读

美化、优化博客

这几天在参照别人的经验来美化和优化我的博客,连去万戈那里灌水刷屏都少了点。暂告一段落了,总结一下。

添加中文语言包

我使用3.0时,尚无中文语言包,所以后台一直英文。虽说不是看不明白,但到底不是母语,思考需要转个弯,所以决定打个语言包。

wordpress中文团队下载简体中文语言包,解压到wp-content/languages目录,然后编辑根目录下的wp-config.php文件,将语言定义宏改为

define ('WPLANG', 'zh_CN');

保存即可。

Ctrl + Enter提交评论

添Ctrl + Enter提交评论功能是很有必要的,因为省去了移动鼠标或用Tab来移动焦点的时间。

实现也很简单,如同Java中的addKeyListener一样添加按键监控即可,我使用的是万戈给WP添加Ctrl+Enter快捷回复一文中木木提供的代码。

继续阅读