// JavaScript Document
var delta = 1; //0.5 //缓冲 1为不缓冲
var collection;
function floaters() {
this.items = [];
this.addItem = function (id, x, y, w, h, content) {
document.write('
' + content + '
');
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);
}
}
this.play = function play() {
l = getscrollLeft();
t = getscrollTop();
if (screen.width <= 0) {
for (var i = 0; i < collection.length; i++) {
collection[i].object.style.display = 'none';
}
return;
}
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 != (l + followObj_x)) {
var dx = (l + followObj_x - followObj.offsetLeft) * delta;
dx = (dx > 0 ? 1 : -1) * Math.ceil(Math.abs(dx));
followObj.style.left = followObj.offsetLeft + dx + "px";
}
if (followObj.offsetTop != (t + followObj_y)) {
var dy = (t + followObj_y - followObj.offsetTop) * delta;
dy = (dy > 0 ? 1 : -1) * Math.ceil(Math.abs(dy));
followObj.style.top = followObj.offsetTop + dy + "px";
}
}
function getscrollTop() //得到当前显示内容的高
{
if (document.documentElement.scrollTop > 0) {
if (document.documentElement.scrollTop > 0) {
return document.documentElement.scrollTop
}
} else {
return document.body.scrollTop;
}
}
function getscrollLeft() //得到当前显示内容的宽
{
if (document.documentElement.scrollLeft > 0) {
if (document.documentElement.scrollLeft > 0) {
return document.documentElement.scrollLeft
}
} else {
return document.body.scrollLeft;
}
}
}
/* ////////////////////////////// */
var fly_collection;
var flyer;
function flyers() {
var clientW = document.compatMode == "CSS1Compat" ? document.documentElement.clientWidth : document.body.clientWidth;
var clientH = document.compatMode == "CSS1Compat" ? document.documentElement.clientHeight : document.body.clientHeight;
this.items = [];
this.addItem = function (id, height, width, step, delay, content) {
document.write('' + content + '
');
var newItem = {};
newItem.object = document.getElementById(id);
newItem.x = parseInt(Math.random() * (clientW - width) + 1);
newItem.y = parseInt(Math.random() * (clientH - height) + 1);
newItem.step = step;
newItem.delay = delay;
newItem.height = height;
newItem.width = width;
newItem.xSign = newItem.x % 2 == 1 ? 1 : -1;
newItem.ySign = newItem.y % 2 == 1 ? 1 : -1;
this.items[this.items.length] = newItem;
fly_collection = this.items;
newItem.object.style.top = newItem.y + "px";
newItem.object.style.left = newItem.x + "px";
}
this.play = function () {
fly_collection = this.items;
flyer = setInterval('playing()', 30);
}
}
function playing(id) {
clientW = document.compatMode == "CSS1Compat" ? document.documentElement.clientWidth : document.body.clientWidth;
clientH = document.compatMode == "CSS1Compat" ? document.documentElement.clientHeight : document.body.clientHeight;
scrollT = document.documentElement.scrollTop > 0 ? document.documentElement.scrollTop : document.body.scrollTop;
scrollL = document.documentElement.scrollLeft > 0 ? document.documentElement.scrollLeft : document.body.scrollLeft;
var isStop = false;
if (arguments.length == 1) {
isStop = true;
}
for (i in fly_collection) {
if (fly_collection[i].y + fly_collection[i].height >= clientH) {
fly_collection[i].ySign = -1;
}
if (parseInt(fly_collection[i].x) + fly_collection[i].width >= clientW) {
fly_collection[i].xSign = -1;
}
if (parseInt(fly_collection[i].y) <= 0) {
fly_collection[i].ySign = 1;
}
if (parseInt(fly_collection[i].x) <= 0) {
fly_collection[i].xSign = 1;
}
if (!isStop) {
fly_collection[i].y = fly_collection[i].y + fly_collection[i].ySign * fly_collection[i].step;
fly_collection[i].object.style.top = fly_collection[i].y + scrollT + "px";
fly_collection[i].x = fly_collection[i].x + fly_collection[i].xSign * fly_collection[i].step;
fly_collection[i].object.style.left = fly_collection[i].x + scrollL + "px";
}
}
}
function disable(ob) {
ob.parentNode.parentNode.removeChild(ob.parentNode);
}
//////////
//下面注释的为飘动代码
var theFloaters = new floaters();
//*********************左下浮动
theFloaters.addItem('Float2', 5, '75', 115, 175, '- X

');
//*********************右下浮动
theFloaters.addItem('Float1', '(document.compatMode == "CSS1Compat" ? document.documentElement.clientWidth : document.body.clientWidth)-120', '75', 115, 175, '- X

');
var the_float_x; //浮动的x坐标
the_float_x = 0;
theFloaters.play();