当前位置: 首页 > 图文教程 > 网络编程 > Javascript > js 对联广告、漂浮广告封装类(IE,FF,Opera,Safari,Chrome

Javascript
一个特殊的排序需求的javascript实现代码
javaScript 简单验证代码(用户名,密码,邮箱)
支持ie与FireFox的剪切板操作代码
使用JS判断是否数字和小数点组合的数字的两中方法比较(isNaN和逐判断)
javascript 表单验证常见正则
IE FF OPERA都可用的弹出层实现代码
PPK 谈 JavaScript 的 this 关键字 [翻译]
JavaScript 自动在表格前面增加序号
点击按钮后 文本框变为Select下拉列表框
js类的静态属性和实例属性的理解
点击文章内容处弹出页面代码
点击下载链接 弹出页面实现代码
签名框(Textarea)限制文字数量并适时提示
JavaScript CSS 通用循环滚动条
js removeChild 障眼法 可能出现的错误
面向对象的javascript(笔记)
JavaScript 浮点数运算 精度问题
JavaScript 接收键盘指令示例
CSS 美化表格边框为凹陷立体效果的实现方法
JavaScript 控制文本框的值连续加减

Javascript 中的 js 对联广告、漂浮广告封装类(IE,FF,Opera,Safari,Chrome


出处:互联网   整理: 软晨网(RuanChen.com)   发布: 2010-01-10   浏览: 299 ::
收藏到网摘: n/a

JavaScript 对联广告、漂浮广告封装类) /*
对联广告调用
第一个参数为ID,第二个参数图片,第三个参数广告距离顶部的距离,
第四个参数表示左右(true代表左,false代表右),第五个参数对联广告的宽度
*/
new float_ad("ad_l","<img src='/System/uploads/allimg/090504/2346400.gif' />",50,true,64);
new float_ad("ad_r","<img src='/System/uploads/allimg/090504/2346400.gif' />",50,false,64);
/*
漂浮广告调用
第一个参数中的url代表漂浮广告的图片URL地址(必选项),link链接到页面网址,alt图片提示文字,width图片的宽度(可选项,默认120),heihgt图片的高度(可选项,默认120)
第二个参数中的代表漂浮广告的初始位置,由参数left和top指定
第三个参数代表浮动速度,0为静止,越小浮动速度越快
*/
new move_ad({url:"/System/uploads/allimg/090504/2346400.gif",link:"http://www.ruanchen.com",alt:"关于招募“2009中国·大连国际樱桃节”志愿者的通知",width:200,height:200},{left:40,top:160},20);
复制代码 代码如下:

//核心代码
function $(element){
if(arguments.length>1){
for(var i=0,elements=[],length=arguments.length;i<length;i++)
elements.push($(arguments[i]));
return elements;
}
if(typeof element=="string")
return document.getElementById(element);
else
return element;
}
Function.prototype.bind=function(object){
var method=this;
return function(){
method.apply(object,arguments);
}
}
var Class={
create:function(){
return function(){
this.initialize.apply(this,arguments);
}
}
}
Object.extend=function(destination,resource){
for(var property in resource){
destination[property]=resource[property];
}
return destination;
}
//对联广告类
var float_ad=Class.create();
float_ad.prototype={
initialize:function(id,content,top,left,width){
document.write('<div id='+id+' style="position:absolute;">'+content+'</div>');
this.id=$(id);
this.top=top;
if(!!left){
this.id.style.left="8px";
}else{
this.id.style.left=(document.documentElement.clientWidth-width-8)+"px";
window.onresize=function(){
this.id.style.left=(document.documentElement.clientWidth-width-8)+"px";
}.bind(this);
}
this.id.style.top=top+"px";
this.interId=setInterval(this.scroll.bind(this),20);
},
scroll:function(){
this.stmnStartPoint = parseInt(this.id.style.top, 10);
this.stmnEndPoint =document.documentElement.scrollTop+ this.top;
if(navigator.userAgent.indexOf("Chrome")>0){
this.stmnEndPoint=document.body.scrollTop+this.top;
}
if ( this.stmnStartPoint != this.stmnEndPoint ) {
this.stmnScrollAmount = Math.ceil( Math.abs( this.stmnEndPoint - this.stmnStartPoint ) / 15 );
this.id.style.top = parseInt(this.id.style.top, 10) + ( ( this.stmnEndPoint<this.stmnStartPoint ) ? -this.stmnScrollAmount : this.stmnScrollAmount )+"px";
}
}
}
//漂浮广告类
var move_ad=Class.create();
move_ad.prototype={
initialize:function(imgOption,initPosition,delay){
this.imgOptions=Object.extend({url:"",link:"",alt:"",width:120,height:120},imgOption||{});
this.adPosition=Object.extend({left:40,top:120},initPosition||{});
this.delay =delay;
this.step = 1;
this.herizonFlag=true;
this.verticleFlag=true;
this.id="ad_move_sg";
var vHtmlString="<div id='"+this.id+"' style='position:absolute; left:"+this.adPosition.left+"px; top:"+this.adPosition.top+"px; width:"+this.imgOptions.width+"px;";
vHtmlString+=" height:"+this.imgOptions.height+"px; z-index:10;'><a href='"+this.imgOptions.link+"' target='_blank' title='"+this.imgOptions.alt+"'><img src='"+this.imgOptions.url+"' width='"+this.imgOptions.width+"' height='"+this.imgOptions.height+"' style='border:none;' alt='"+this.imgOptions.alt+"' /></a></div>";
document.write(vHtmlString);
this.id=$(this.id);
this.intervalId=setInterval(this.scroll.bind(this),this.delay);
this.id.onmouseover=this.stop.bind(this);
this.id.onmouseout=this.start.bind(this);
},
scroll:function(){
var L=T=0;
var B=document.documentElement.clientHeight-this.id.offsetHeight;
var R=document.documentElement.clientWidth-this.id.offsetWidth;
this.id.style.left=this.adPosition.left+document.documentElement.scrollLeft+"px";
this.id.style.top=this.adPosition.top+document.documentElement.scrollTop+"px";
this.adPosition.left =this.adPosition.left + this.step*(this.herizonFlag?1:-1);
if (this.adPosition.left < L) { this.herizonFlag = true; this.adPosition.left = L;}
if (this.adPosition.left > R){ this.herizonFlag = false; this.adPosition.left = R;}
this.adPosition.top =this.adPosition.top + this.step*(this.verticleFlag?1:-1);
if(this.adPosition.top <= T){ this.verticleFlag=true; this.adPosition.top=T;}
if(this.adPosition.top >= B){ this.verticleFlag=false; this.adPosition.top=B; }
},
stop:function(){
clearInterval(this.intervalId);
},
start:function(){
this.intervalId=setInterval(this.scroll.bind(this),this.delay);
}
}