页面内容区域 |
smsline_double.js文件
js文件
/*
sms.qq.com 上下及水平窗口自适应浮动广告代码
created by ouyang
20051222 update by jornnyliu
20051227 updated by ouyang
20060214 updated by nokersang 情人节光棍版:)
What's new (发布时请去掉部分注译)
1.兼容IE6.0&Mozilla Firefox
2.去除对DOCTYPE声明的依赖,有无或不同声明皆有相同效果
3.水平动态自适应调整,可调用时定义页面内容宽度适应性加强
4.任何情况下无拉不尽滚动出现,解决浮动通病
5.实现功能同时精简程序代码
6.修正代码中的一些Bug
注:在有DOCTYPE声明但未设定页面边界值为零之页面中浮动会有轻微错位,但对使用基本无影响(我们的网页基本都没有留边界的)!
带注译版文件大小:11,898字节
无注译版文件大小:9,829字节
*/
// common
//浏览器窗口参数定义及获取函数,兼容IE6&MF by nokersang *
var theX; //浏览器窗口宽度
if(document.documentElement.clientWidth
}else{
theX = 'document.body.clientWidth';
}
var theY; //浏览器窗口高度
if(document.documentElement.clientHeight<=document.body.clientHeight&&document.documentElement.clientHeight){
theY = 'document.documentElement.clientHeight';
}else{
theY = 'document.body.clientHeight';
}
function scrollTop() //浏览器滚动条位置
{
var scrollTop;
if (document.documentElement && document.documentElement.scrollTop){
scrollTop = document.documentElement.scrollTop;
}else if (document.body){
scrollTop = document.body.scrollTop;
}else if (window.pageYOffset){
scrollTop = window.pageYOffset;
}
return scrollTop;
}
// 参数设置,包括广告显示数量、广告文件的规格、类型、地址和广告边距,左右可使用不同设置,如果设置了不显示某侧广告那么该广告的所有参数设置都无效
var delta=0.075;
var collection,right_ad,left_ad,LeftAd_Type,RighAd_Type;
if(contentWidth == null)//判断参数contentWidth是否存在,便于接受页面参数为不同内容宽度页面定制浮动 by nokersang
{
var contentWidth=752;//页面内容区域宽度,建议使用4的整数倍
}
var maxHeight=410;//定义可见的浮动内容最下沿距浏览器窗口内容部分顶端的高度,建议留几像素余地
var display="both"//设定广告显示数量。left:只显示左侧;right:只显示右侧;both:全部显示;none:全部关闭
var LeftAd_Type="swf";//设定左侧广告类型,swf:flash文件;pic:jpg或gif文件
var LeftAd_Dime="d"//设定左侧广告规格。d:对联类 100*300;f:浮标类 80*80
var LeftAd_Url="http://sms.qq.com/pub/item/party_lover_100x300_060209.swf";//设定左广告文件的地址
var LeftAd_link="";//设置左侧广告的跳转连接地址(flash无须设置)
var LeftAd_top=80;//设定左广告top边距(常规情况无需更改)
var LeftAd_left=eval(theX)<=(contentWidth+200)?0:Math.round((eval(theX)-contentWidth)*0.25-50);//设定左广告left边距,浮动在内容之外空间上自动居中 by nokersang
var RightAd_Type="swf";//设定右侧广告类型,swf:flash文件;pic:jpg或gif文件
var RightAd_Dime="d"//设定右侧广告规格。d:对联类 100*300;f:浮标类 80*80
var RightAd_Url="http://sms.qq.com/pub/mq/item/mq_100x300_060124.swf";//设定右广告文件的地址
var RightAd_link="";//设置右侧广告的跳转连接地址(flash无须设置)
var RightAd_top=80;//设定右广告top边距(常规情况无需更改)
var RightAd_left=eval(theX)>(contentWidth+200)?Math.round(eval(theX)*0.75+contentWidth*0.25-50):Math.round(screen.width*0.75+125);//设定右广告left边距,浮动在内容之外空间上自动居中 by nokersang
// "返回顶部"的设置
var ifGoTop="y";//是否出现“返回顶部”。y:出现;n:隐藏
//以下代码无须改动
var gotop="
返回页顶 |
function floaters() {
this.items = [];
this.addItem = function(id,x,y,content){
var str = '
var newItem = {};
newItem.object = document.getElementById(id);
newItem.x = x;
newItem.y = y;
this.items[this.items.length] = newItem;
}
this.play = function(){
collection = this.items
setInterval('play()',10);
}
}
function play(){
//动态根据窗口大小判断隐藏 by nokersang
if(eval(theX)
collection[i].x=(collection[i].object.offsetLeft?collection[i].object.offsetLeft:collection[i].x);//MF层位置保存,兼容代码 nokersang
collection[i].object.style.display="none";
}
}else{
for(var i=0;i
var followObj=collection[i].object;
var followObj_x=(typeof(collection[i].x)=='string'?eval(collection[i].x):collection[i].x);
var followObj_y=(typeof(collection[i].y)=='string'?eval(collection[i].y):collection[i].y);
if(collection[i].object.style.display!="block"){
followObj.style.left=followObj_x+"px" //MF层位置获取,兼容代码 nokersang
collection[i].object.style.display="block";
}
//左右浮动区别处理动态处理代码,动态浮动,解决窗口水平变小时Flash跳动及短时间出现水平滚动条问题 by nokersang *
if(i==0&&display!="right"){
if(followObj.offsetLeft!=Math.round((eval(theX)-contentWidth)*0.25-50)){
var dx=((eval(theX)-contentWidth)*0.25-50-followObj.offsetLeft)*delta;
dx=(dx>0?1:-1)*Math.ceil(Math.abs(dx));
followObj.style.left=followObj.offsetLeft+dx+"px";
}
}else{
if(followObj.offsetLeft!=Math.round(eval(theX)*0.75+contentWidth*0.25-50)){
var dx=(Math.ceil(eval(theX)*0.75+contentWidth*0.25-50)-followObj.offsetLeft);
dx=(dx<0&&(followObj.offsetLeft+100)>eval(theX)?dx:dx*delta);
dx=(dx>0?1:-1)*Math.ceil(Math.abs(dx));
followObj.style.left=followObj.offsetLeft+dx+"px";
}
}
if(followObj.offsetTop!=(scrollTop()+followObj_y)) {
var dy=(scrollTop()+followObj_y-followObj.offsetTop)*delta;
dy=(dy>0?1:-1)*Math.ceil(Math.abs(dy));
followObj.style.top=followObj.offsetTop+dy+"px";
}
collection[i].object.style.display="block";
}
}
}
var theFloaters = new floaters();
if (display=="both"){
theFloaters.addItem('leftad',LeftAd_left,LeftAd_top,left_ad);
theFloaters.addItem('rightad',RightAd_left,RightAd_top,right_ad);
}
if (display=="left"){
theFloaters.addItem('leftad',LeftAd_left,LeftAd_top,left_ad);
}
if (display=="right"){
theFloaters.addItem('rightad',RightAd_left,RightAd_top,right_ad);
}
if (ifGoTop=="y"){
theFloaters.addItem('gotop',RightAd_left,390,gotop);
}
theFloaters.play();
document.write("");