無標題文檔

Javascript 悬停弹出框

由于项目的需要,要做一个鼠标悬停显示信息的效果。坦白说,我这个部件我不想使用框架实现,原因是太臃肿了。

在代码库里面找到了些类似的代码(本人为业余的 Javascript 开发人员),但发现都非常的散乱,于是我就尝试重写它们。

https://friable.rocks/_/2009_11_05/95824556d667.jpg

先看下 DEMO ,打包以后的文件可以在 这里 下载。

用法很简单,就是在函数参数中选择容器的 id(或者是节点集合),然后代码就会将容器中 a 元素的 title 和链接以泡框的形式弹出。

下面,说下碰到的些值得回味的代码(格式是我重写以后的)。

_addCssFile : function (css_file) {
    var l = document.createElement("link");
    l.setAttribute("type",  "text/css");
    l.setAttribute("rel",   "stylesheet");
    l.setAttribute("href",  css_file);
    l.setAttribute("media", "screen");
    document.getElementsByTagName("head")[0].appendChild(l);
},

用 Javascript 载入外部样式文件,建议在 DOM Ready 以后运行。

_setOpacity: function (oNode) {
    oNode.style.filter       = "alpha(opacity:85)";
    oNode.style.KHTMLOpacity = "0.85";
    oNode.style.MozOpacity   = "0.85";
    oNode.style.opacity      = "0.85";
},

强行设置元素的属性,不像 YUI 这样 小心翼翼的先判断后操作 ,再设置。我等草根的写出来代码,虽然「暴力」,但是实用。

类似的,还有

var posx = 0, posy = 0;
if(e == null) {
    e = window.event;
}

if(e.pageX || e.pageY) {
    posx=e.pageX; posy=e.pageY;
} else if(e.clientX || e.clientY) {
    if(document.documentElement.scrollTop){
        posx = e.clientX + document.documentElement.scrollLeft;
        posy = e.clientY + document.documentElement.scrollTop;
    } else {
        posx = e.clientX + document.body.scrollLeft;
        posy = e.clientY + document.body.scrollTop;
    }
}

获取当前元素的坐标 -- 写过类似功能的朋友,应该对此段代码很熟悉。

德清周末游

小妮子在 她 Blog记录 了周末的游玩,但本人对于她只放了那么少的图片很有意见 -- 太对不起观众了。现在,我放些独家的爆料上来(气死她丫的)。

坦白说这个周末我本想在家里睡觉 + 上网的,可怜我硬生生的被她塞进了去德清的车子上 -- 反正不用自己消费,不去也白不去。

https://friable.rocks/_/2009_11_05/44197555c04b.jpg

首先上张狗狗的图片,妮子的同事把她的爱犬(注意,不是狗)也带上了。乖乖,我想恐怕这样的一只犬,一个月消费下来,我的薪水都没了。

https://friable.rocks/_/2009_11_05/61245555c01d.jpg

我们穷苦百姓的,就显得大众了点,同样是只狗(注意,不是犬),这只就显得随意得多。看它眼神无辜的样子,让我再次想起了 我家的小白

https://friable.rocks/_/2009_11_05/50801555c047.jpg

https://friable.rocks/_/2009_11_05/87033555c030.jpg

在这荒郊野外的,烧烤的确是个不错的主意。他们似乎比我想象的要环保得多, 平时吃多了粉尘这次换个口味 (与其叫烧烤,还不如叫「烧炒」)。

https://friable.rocks/_/2009_11_05/76955555c034.jpg

可惜正如本人之前说的(马后炮),吃多了迟早要出事。那帮人只顾着吃(我也是),结果那张薄薄的锡纸就燃烧了起来 -- 由此悼念我亲爱的黄鱼同志 T_T

https://friable.rocks/_/2009_11_05/69559555c08e.jpg

用烧烤的半生不熟的食物填饱肚子以后,按照流程就去摘草莓。可怜等到我们时,已经剩下了「残草败莓」。

https://friable.rocks/_/2009_11_05/01814555c0d6.jpg

坦白说,我终于弄明白草莓未成熟的时候是白色的,而不是绿色的。

https://friable.rocks/_/2009_11_05/24417555c0e1.jpg

光顾着拍照了,刹那间听见 妮子 同事的一声尖叫。只看见妮子轻而易举的,成为了本大棚内的「劳动标兵」 -- 摘的最多、吃的也最多。

https://friable.rocks/_/2009_11_05/67541555c107.jpg

最后,来张小型的「兵马俑」图,由妮子的某位体力过盛的同事所为。

从艺术的角度上说,并没有任何的价值;但从写实的角度上分析,充分表达了此位同事对于现实生活的不满,以及对未来美好生活的向往。

nicEdit 中文版

Typecho 的项目已经启动。小组需要个功能强大而且小巧,并且容易 Hack 的 Javascript 编辑器。我首先想到的是 FCKEditor 以及 TinyMCE 。

FCKEditor 功能虽然强大、插件众多,但代码量和占用的客户端的资源也是巨大的。 TinyMCE 相对小巧,功能方面也并不弱,不过其使用协议还是很多不明确的地方。

sluck 以及 joyqi 兄弟的推荐下,尝试使用一款名为 nicEdit 的编辑器,基本上表示满意。

功能方面,nicEdit 已经满足了基本编辑器的需求。而我关注的代码方面,它也是非常精简的。整个编辑器就是声明了个大的 nicEdit 的类(非常的环保),扩展起来非常的容易。

推荐对 Javascript 有兴趣,并且想了解编辑器原理的朋友可以看下它的代码,收获会良多。最后,在看其代码的同时,顺便汉化了下,汉化以后的包可以在 这里下载

同时,也可以先看下我 Blog 上面扔的 DEMO

http://friable.rocks/historic/demo/nicEdit/

我的照片

嗨!我叫「明城」,八零后、码农、宁波佬,现居杭州。除了这里,同时也欢迎您关注我的 GitHubTwitterInstagram 等。

这个 Blog 原先的名字叫 Gracecode.com 、现在叫 「無標題文檔」 。 要知道作为码农取名是件很难的事情,所以不想在取名这事情上太费心思。

作为八零后,自认为还仅存点点可能不怎么被理解的幽默感,以及对平淡生活的追求和向往。 为了避免不必要的麻烦,声明本站所输出的内容以及观点仅代表个人,不代表自己所服务公司或组织的任何立场。

如果您想联系我,可以发我邮件 `echo bWluZ2NoZW5nQG91dGxvb2suY29tCg== | base64 -d`

分类

搜索

文章