随便记一点最近的工作。

想做一个滚动条的效果,类似新浪微博,滚动到地步加载新数据,但是不是浏览器的滚动条,而是一个div的滚动条。

var scHe = that[0].scrollHeight;
var scTo = that[0].scrollTop;
var charel = scHe - scTo;

charel即为div距离底部的距离,因为是内部工具,不需要考虑兼容性的问题,所以现代浏览器可以使用就可以了。
当小于一定距离的时候调用ajax请求,对div注册scroll事件的监听。

node.js在ubuntu的安装,需要g++来编译。
apt-get install g++ 安装g++
下载好node.js的安装包。
进入目录,运行:
./configure
make
sudo make install
之后运行了下,当然还是hello world。
开始学习吧,不过php和python还没有熟悉,就一起看吧。

已经记不清是第几次读《高性能javascript》了,还是有新的感受。
Beacons是ajax的请求可以用img的src来发送,一方面img的src是异步的,对页面没有影响,一方面发送方便快捷,后续判断img的onload与onerror即可。
公司内部早已开始使用img标签来向后端发送信息了。

以及javascript的避免重复求值,比如addEventHandler这个函数,一些基本的写法

addEventHandler:function (element,type,handler){
    if(element.addEventListener){
        element.addEventlistener(type,handler,false);
    }else if(element.attachEvent){
        element.attachEvent("on"+type,handler);
    }else{
        element["on" + type] = handler;
    }
}

在每次注册事件时候都要判断浏览器的兼容性问题,很不划算。改为:

addEventHandler:function (element,type,handler){
    if(element.addEventListener){
        addEventHandler = function (element,type,handler){
            element.addEventListener(type,handler,false);
        };
    }else if(element.attachEvent){
        addEventHandler = function (element,type,handler){
            element.attachEvent("on" + type,handler);
        };
    }else{
        addEventHandler = function (element,type,handler){
            element["on" + type] = handler;
        };
    }
    addEventHandler(element,type,handler);
}

“随便记一点最近的工作。”的2个回复

发表评论

电子邮件地址不会被公开。 必填项已用*标注