var collection;
function floaters() {
this.items = [];
this.addItem = function(id,x,y,content)
{
document.write('<DIV id='+id+' style="Z-INDEX: 10; POSITION: absolute; width:100px; height:450px;left:'+(typeof(x)=='string'?eval(x):x)+';top:'+(typeof(y)=='string'?eval(y):y)+'">'+content+'</DIV>');
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()
{
for(var i=0;i<collection.length;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(followObj.offsetLeft!=(document.body.scrollLeft+followObj_x)) {
var dx=(document.body.scrollLeft+followObj_x-followObj.offsetLeft)*delta;
dx=(dx>0?1:-1)*Math.ceil(Math.abs(dx));
followObj.style.left=followObj.offsetLeft+dx;
}
if(followObj.offsetTop!=(document.body.scrollTop+followObj_y)) {
var dy=(document.body.scrollTop+followObj_y-followObj.offsetTop)*delta;
dy=(dy>0?1:-1)*Math.ceil(Math.abs(dy));
followObj.style.top=followObj.offsetTop+dy;
}
followObj.style.display = '';
}
}
var theFloaters = new floaters();
theFloaters.addItem('followDiv1','document.body.clientWidth-200',10,'<iframe src=/"/images/2006lh/pop.htm/" width=/"187/" height=/"580/" frameborder=/"no/" border=/"0/" marginwidth=/"0/" marginheight=/"0/" scrolling=/"no/"></iframe>');
theFloaters.play();
多个:
//左边
var left_img = "<a target='_blank' href='http://www.csdn.net/subject/summerjobs/'><img border='0' src='Images.hr/shuqimingqi.GIF' width='80' height='80' /></a><br /><br /><a target='_blank' href='http://news.csdn.net/news/newstopic/25/25214.shtml'><img border='0' src='Images.hr/zhichangzhuanjia.GIF' width='80' height='80' /></a>";
//右边
var right_img = "<a target='_blank' href='#'><img border='0' src='null.gif' width='80' height='80' /></a><br /><br /><a target='_blank' href='#'><img border='0' src='null.gif' width='80' height='80' /></a>";
var delta = 0.05;
var collection;
function floaters()
{
this.items = [];
this.addItem = function(id, x, y, content) {
document.write("<div id=" + id + " style='z-index: 10; position: absolute; width: 80px; height: 80px; left: " + (typeof(x) == "string" ? eval(x) : x) + "; top: " + (typeof(y) == 'string' ? eval(y) : y) + "'>" + content + '</div>');
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()
{
for(var i = 0; i < collection.length; 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(followObj.offsetLeft != (document.body.scrollLeft + followObj_x)) {
var dx = (document.body.scrollLeft + followObj_x - followObj.offsetLeft) * delta;
dx = (dx > 0 ? 1 : -1) * Math.ceil(Math.abs(dx));
followObj.style.left = followObj.offsetLeft + dx;
}
if(followObj.offsetTop != (document.body.scrollTop + followObj_y)) {
var dy = (document.body.scrollTop + followObj_y - followObj.offsetTop) * delta;
dy = (dy > 0 ? 1 : -1) * Math.ceil(Math.abs(dy));
followObj.style.top = followObj.offsetTop + dy;
}
followObj.style.display = "";
}
}
var theFloaters = new floaters();
theFloaters.addItem("followDiv1", "document.body.clientWidth - 110", 170, "" + right_img + "");
theFloaters.addItem("followDiv2", 10, 170, "" + left_img + "");
theFloaters.play();