这两天,遇到一个需求,就是在一个页面中浮动一张图片,兼容浏览器那是默认需求、鼠标悬停那也算是默认需求,本来认为没什么麻烦的,网上那么多,随便搜一个再改吧改吧就哦了,可是,后来发现,没有想象的那么简单;
问题一:网上DEMO都是在无DTD标准下处理的;
问题二:不能兼容多个浏览器;
这些都无法满足我的需求,对此问题,搞了将近一天时间,最后功夫不负有心人,加上网上的一篇文章的建议,终于可以说“我成功了”,希望有朋友用得上。
好了,前序到此,上代码:
var xPos = 300;
var yPos = 200;
var step = 2;
var delay = 30;
var height = 0;
var Hoffset = 0;
var Woffset = 0;
var yon = 0;
var xon = 0;
var pause = true;
var interval;
var flowimg = document.getElementById("flowimg");
function changePos() {
Hoffset = flowimg.offsetHeight; Woffset = flowimg.offsetWidth;
width = document.documentElement.clientWidth || document.body.clientWidth; height = document.documentElement.clientHeight || document.body.clientHeight;
flowimg.style.left = xPos + (document.body.scrollLeft || document.documentElement.scrollLeft) + "px"; flowimg.style.top = yPos + (document.body.scrollTop || document.documentElement.scrollTop) + "px";
if (yon)
{ yPos = yPos + step; }
else
{ yPos = yPos - step; }
if (yPos < 0)
{ yon = 1; yPos = 0; }
if (yPos >= (height - Hoffset)) {
yon = 0;yPos = (height - Hoffset);
}
if (xon)
{ xPos = xPos + step; }
else
{ xPos = xPos - step; }
if (xPos < 0)
{ xon = 1; xPos = 0; }
if (xPos >= (width - Woffset)) {
xon = 0; xPos = (width - Woffset);
}
}