ASP.NET页面中浮动广告JS注意事项

发表于:2009-10-21 10:23

字体: | 上一篇 | 下一篇 | 我要投稿

 作者:未知    来源:51Testing软件测试网采编

#
DotNet

  这两天,遇到一个需求,就是在一个页面中浮动一张图片,兼容浏览器那是默认需求、鼠标悬停那也算是默认需求,本来认为没什么麻烦的,网上那么多,随便搜一个再改吧改吧就哦了,可是,后来发现,没有想象的那么简单;

  问题一:网上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);
  }
  }
  function start() {
  flowimg.visibility = "visible";
  flowimg.onmouseover = function() {
  pause_resume();
  }
  flowimg.onmouseout = function() {
  pause_resume();
  }
  interval = setInterval('changePos()', delay);
  }
  function pause_resume() {
  if (pause) {
  clearInterval(interval);
  pause = false;
  }
  else {
  interval = setInterval('changePos()', delay);
  pause = true;
  }
  }
  start();

  忘记是哪位仁兄/MM 的原型代码了,在此功能上,完善了,鼠标的暂停、浏览器的兼容功能;

  ----参考:http://www.cftea.com/c/2008/06/U1FSRIC247DWTK2M.asp

21/212>
《2023软件测试行业现状调查报告》独家发布~

关注51Testing

联系我们

快捷面板 站点地图 联系我们 广告服务 关于我们 站长统计 发展历程

法律顾问:上海兰迪律师事务所 项棋律师
版权所有 上海博为峰软件技术股份有限公司 Copyright©51testing.com 2003-2024
投诉及意见反馈:webmaster@51testing.com; 业务联系:service@51testing.com 021-64471599-8017

沪ICP备05003035号

沪公网安备 31010102002173号