时间:2021-05-18
百度空间的弹出窗口和拖拽效果,看起来挺不错的。现在很多知名网站都是用的这样的技术。下面把我down的js代码发出来,我分析了一部分,但是还有很多东西不明白怎么回事,没有写注释的部分,还请高手能帮我解释一下。本人属于初学,有不对的地方还请多多指教。
在声明一条吧,此代码仅做学习用,技术版权属于百度。
主要是一个叫做:popup.js的文件,如下:
/***********************************************popup.js**************************************************/
//为数组Array添加一个push方法
//为数组的末尾加入一个对象
if(!Array.prototype.push)
{
Array.prototype.push=function()
{
varstartLength=this.length;
for(vari=0;i<arguments.length;i++)
{
this[startLength+i]=arguments[i];
}
returnthis.length;
}
};
//对G函数的参数进行处理
functionG()
{
//定义一个数组用来保存参数
varelements=newArray();
//循环分析G中参数的内容
for(vari=0;i<arguments.length;i++)
{
varelement=arguments[i];
//如果参数的类型为string,则获得以这个参数为ID的对象
if(typeofelement=='string')
{
element=document.getElementById(element);
}
//如果参数的长度为1
if(arguments.length==1)
{
returnelement;
}
//将对象加入到数组的末尾
elements.push(element);
};
returnelements;
};
Function.prototype.bind=function(object)
{
var__method=this;
returnfunction()
{
__method.apply(object,arguments);
};
};
//绑定事件
Function.prototype.bindAsEventListener=function(object)
{
var__method=this;
returnfunction(event){__method.call(object,event||window.event);};
};
Object.extend=function(destination,source)
{
for(propertyinsource)
{
destination[property]=source[property];
};
returndestination;
};
if(!window.Event)
{
varEvent=newObject();
};
Object.extend(
Event,
{
observers:false,
element:function(event)
{
returnevent.target||event.srcElement;
},
isLeftClick:function(event)
{
return(((event.which)&&(event.which==1))||((event.button)&&(event.button==1)));
},
pointerX:function(event)
{
returnevent.pageX||(event.clientX+(document.documentElement.scrollLeft||document.body.scrollLeft));
},
pointerY:function(event)
{
returnevent.pageY||(event.clientY+(document.documentElement.scrollTop||document.body.scrollTop));
},
stop:function(event)
{
if(event.preventDefault)
{
event.preventDefault();
event.stopPropagation();
}
else
{
event.returnValue=false;
event.cancelBubble=true;
};
},
findElement:function(event,tagName)
{
varelement=Event.element(event);
while(element.parentNode&&(!element.tagName||(element.tagName.toUpperCase()!=tagName.toUpperCase())))
element=element.parentNode;
returnelement;
},
_observeAndCache:function(element,name,observer,useCapture)
{
if(!this.observers)
this.observers=[];
if(element.addEventListener)
{
this.observers.push([element,name,observer,useCapture]);
element.addEventListener(name,observer,useCapture);
}
elseif(element.attachEvent)
{
this.observers.push([element,name,observer,useCapture]);
element.attachEvent('on'+name,observer);
};
},
unloadCache:function()
{
if(!Event.observers)
return;
for(vari=0;i<Event.observers.length;i++)
{
Event.stopObserving.apply(this,Event.observers[i]);
Event.observers[i][0]=null;
};
Event.observers=false;
},
observe:function(element,name,observer,useCapture)
{
varelement=G(element);
useCapture=useCapture||false;
if(name=='keypress'&&(navigator.appVersion.match(/Konqueror|Safari|KHTML/)||element.attachEvent))
name='keydown';
this._observeAndCache(element,name,observer,useCapture);
},
stopObserving:function(element,name,observer,useCapture)
{
varelement=G(element);
useCapture=useCapture||false;
if(name=='keypress'&&(navigator.appVersion.match(/Konqueror|Safari|KHTML/)||element.detachEvent))
name='keydown';
if(element.removeEventListener)
{
element.removeEventListener(name,observer,useCapture);
}
elseif(element.detachEvent)
{
element.detachEvent('on'+name,observer);
};
}
}
);
123下一页阅读全文
声明:本页内容来源网络,仅供用户参考;我单位不保证亦不表示资料全面及准确无误,也不保证亦不表示这些资料为最新信息,如因任何原因,本网内容或者用户因倚赖本网内容造成任何损失或损害,我单位将不会负任何法律责任。如涉及版权问题,请提交至online#300.cn邮箱联系删除。
站长可以通过百度统计受访页面,提供的分析报告,了解用户对网站各个页面的访问情况,从页面价值、入口页和退出页进行多方面分析。百度统计受访页面信息分析1、访客访问网
以百度网盘为例,打开隐藏空间的方法是: 1、打开“百度云盘”界面,点击“更多”,下滑点击“设置”; 2、点击“文件夹设置”,打开“显示隐藏空间”; 3、返
'用法示例:'cscriptbak.vbs百度用户名第I页至第n页目录列表.htm用户名密码'例如我的blgo示例:'cscriptbaidublogbak.v
优势:优势1:企业自己设定的问题和答案,在百度搜索页、知道详情页展现。优势2:根据用户提问情景,展现推广信息,直接引导客户购买决策,百度百科怎么做。优势3:点击
现象:1、很多小型网站的排名,从原来的百度第一页,降低到第二页。2、一些行业如医疗行业等,蜘蛛爬取正常,但停止展示新网页。分析:百度这次算法的改变,明显加大了大