为博客换了些装备与添加上一些功能,灵感来自于昨天paperen我看的那些博客,都是基于WordPress开发的了,当然paperen我也不会错过扒人家的东西来看看这个好机会(其实同大家偷瓜偷菜不一个样),配合opera浏览器的开发者工具去挖就真是很方便了(大家如果用过就明白了)
话说paperen看中了那个滑回顶部的小功能,找了它的js文件,弄过来就亲自测试起来了,现在paperen的博客都添加上这个功能了(至于赞与踩那个功能paperen我可没抄别人的东西啊)
代码我都贴出来吧,也不是很长。
(function(){
function goTop(acceleration,time){
acceleration=acceleration||0.1;//判断变量是否已定义,如果没有定义就给他一个初始值
time=time||16;
var dx=0;
var dy=0;
var bx=0;
var by=0;
var wx=0;
var wy=0;
if(document.documentElement){
dx=document.documentElement.scrollLeft||0;
dy=document.documentElement.scrollTop||0;
}
if(document.body){
bx=document.body.scrollLeft||0;
by=document.body.scrollTop||0;
}
//一个是XHTML的
//一个是HTML的
//为了兼容都写上
var wx=window.scrollX||0;
var wy=window.scrollY||0;
var x=Math.max(wx,Math.max(bx,dx));
var y=Math.max(wy,Math.max(by,dy));
var speed=1+acceleration;
window.scrollTo(Math.floor(x/speed),Math.floor(y/speed));
if(x>0||y>0){
var invokeFunction="MGJS.goTop("+acceleration+", "+time+")";
window.setTimeout(invokeFunction,time);
}
}
window['MGJS']={};//window.MGJS=new Object();
window['MGJS']['goTop']=goTop;//window.MGJS.goTop=goTop;
})()一开始paperen我也有些地方不太明白(上面自己都加了适当的注释了)确实自己的JavaScript水平不咋的,特别是对于后两行代码,还有最后那个(),到qq群问了一下,高手们的回答的确是一针见血的……
“为什么后面还有个()?”---因为买了东西要用,建了函数要运行,因为前面没口,所以开个口,就是马上就会执行这个函数,()是函数是马达,没马达不走,前面是一盆水 后面开口水就流。
(function(){
alert("ddd");
})() //这样直接就执行了现在来看看这个()还是没搞明白,就是说一开始就运行了goTop这个函数?显然不是啦,我用alert测试过了。不明白的还是得保留,以后或者就会有启发了。但是对于这段js的思想还是要看懂的。
话就话是个回到顶部的js,但是仔细看看代码其实功能是回到(0,0),不单单是y轴,x轴也归零了,很全面的一个函数。然后自己参照一下它的思路也写了一个相当单纯滴,当然也要show一下,不然怎能显出我比较牛的水平呢,大家说是吧?
function goTop_beta(){
var speed=1.2;
var time=16;
var dy=0;
var by=0;
var wy=0;
if(document.documentElement){ dy=document.documentElement.scrollTop||0; }
wy=window.scrollY||0;
var y=Math.max(wy,Math.max(by,dy));
window.scrollTo(0,Math.floor(y/speed));
if(y>0){
setTimeout("goTop_beta()",time);
}
}描述一下功能:点击回到顶部后,如果x轴有拖动条且拖动条距离左边有数值的话,速回0处(水平方向上),而y轴的效果与上面那个一样,还有我这个只适用于xhtml,那么在调用处加上onclick="goTop_beta()"就可以了。就不用创建那个MGJS对象。
大家可以自己拷贝代码测试一下,也是个挺不错的功能。
还有大家可以看看这个,关于js的||与&&运算不错的一课。












3 条评论 说出您的意见与看法
评论