js 右侧浮动层效果实现代码(跟随滚动)

 更新时间:2015年11月22日 14:08:57   投稿:mdxy-dxy   我要评论
因为项目上有这样的需求,在网上也查了些东西,之前是想找个差不多类似的套用一下。后来发觉没有合适的,因时间紧迫就自己动手写了一个简单的 ,示例代码如下 兼容火狐和IE7+

实现代码一、

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "
<html>
<head>
 <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
 <title>无标题文档</title>
 <!--***********开始*************-->
 <script type="text/javascript">
  //<![CDATA[ 
  var tips; var theTop = 200/*这是默认高度,越大越往下*/; var old = theTop;
  function initFloatTips() {
   tips = document.getElementById('floatTips');
   moveTips();
  };
  function moveTips() {
   var tt = 50;
   if (window.innerHeight) {
    pos = window.pageYOffset
   }
   else if (document.documentElement && document.documentElement.scrollTop) {
    pos = document.documentElement.scrollTop
   }
   else if (document.body) {
    pos = document.body.scrollTop;
   }
   pos = pos - tips.offsetTop + theTop;
   pos = tips.offsetTop + pos / 10;
   if (pos < theTop) pos = theTop;
   if (pos != old) {
    tips.style.top = pos + "px";
    tt = 10;
   }
   old = pos;
   setTimeout(moveTips, tt);
  }
  //!]]> 
 </script>
 <style type="text/css">
  .floatTips
  {
   position: absolute;
   border: solid 1px #777;
   padding: 3px;
   top: 250px;
   right: 5px;
   width: 30px;
   height: 300px;
   background: #cccccc;
   color: white;
  }
  .showDiv
  {
   position: absolute;
   border: solid 1px #777;
   padding: 3px;
   top: 250px;
   right: 5px;
   width: 300px;
   height: 300px;
   background: #cccccc;
   color: white;
  }
 </style>
 <script type="text/javascript">
  function FunOnmouseUp() {
   var objFloatTips = $("floatTips");
   var objActivityContext = $("activityContext");
   objFloatTips.className = "showDiv";
   objActivityContext.style.display = "";
  }
  function FunMouseOut() {
   var objFloatTips = $("floatTips");
   var objActivityContext = $("activityContext");
   objFloatTips.className = "floatTips";
   objActivityContext.style.display = "none";
  }
  function $(objID) {
   return document.getElementById(objID);
  }
 </script>
</head>
<body onload="initFloatTips()">
 <div id="floatTips" onmouseover="FunOnmouseUp()" onmouseout="FunMouseOut()" class="floatTips">
  最新的活动
  <div id="activityContext" style="display: none">
   显示最新的活动
  </div>
 </div>
 <!--**********结束***************-->
 <table width="100%" border="0" cellpadding="0" cellspacing="0" bgcolor="#F7F7F7">
  <tr>
   <td height="2101">
   </td>
  </tr>
 </table>
</body>
</html>

如果有时间的话 会稍作美化 然后加上动画效果 应该就能算是个不错的浮动隐藏层了。

方法二、

一、把以下代码插入<body></body>标签中:

 <div id="FloatDIV" style="position: absolute;top: 0px; border-right: activeborder 1px solid; border-top: activeborder 1px solid; border-left: activeborder 1px solid; border-bottom: activeborder 1px solid;">
   浮动层示例:<br />
        <a target="_blank" href="tencent://message/?uin=101535223&Site=//www.sxglgf.com&Menu=yes"><img border="0" src="http://wpa.qq.com/pa?p=1:101535223:3" alt="有事您说话"></a>
 </div> 

二、把以下代码插到</body>标签之后,设置MarginLeft、MarginTop、Width、Heigth四个变量的值

<script language="javascript" type="text/javascript">
var MarginLeft = 30; //浮动层离浏览器右侧的距离
var MarginTop = 50;  //浮动层离浏览器顶部的距离
var Width = 120;  //浮动层宽度
var Heigth= 45;  //浮动层高度
//设置浮动层宽、高
function Set()
{
 document.getElementById("FloatDIV").style.width = Width;
 document.getElementById("FloatDIV").style.height = Heigth;
}
//实时设置浮动层的位置
function Move()
{
 document.getElementById("FloatDIV").style.top = document.documentElement.scrollTop + MarginTop;
 document.getElementById("FloatDIV").style.left = document.documentElement.clientWidth - Width - MarginLeft;
 setTimeout("Move();",100);
}
Set();
Move();
</script>

相关文章

最新评论