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=gb2312" />
 <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;">
  &nbsp;浮动层示例:<br />
  &nbsp; &nbsp; &nbsp; <a target="_blank" href="tencent://message/?uin=101535223&Site=https://www.jb51.net&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>

相关文章

  • 一些不错的JS 自定义函数

    一些不错的JS 自定义函数

    一些不错的JS 自定义函数 ,不少网站都在用,都是一些比较不错的函数,可以拿来直接使用。建议学习。
    2009-08-08
  • js快速与任意QQ号码建立临时对话

    js快速与任意QQ号码建立临时对话

    那时候在群里讨论的,吸纳很多人的方法与意见,修改而成的
    2008-10-10
  • js 如何实现对数据库的增删改查

    js 如何实现对数据库的增删改查

    JavaScript操作数据库JS操作Access数据库,跟其他语言操作差不多,总结了一下习惯代码,需要的朋友可以参考下
    2012-11-11
  • 微信小程序实现简单的计算器功能

    微信小程序实现简单的计算器功能

    这篇文章主要为大家详细介绍了微信小程序实现简单的计算器功能,文中示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2021-07-07
  • js下为表格内部动态添加行的代码

    js下为表格内部动态添加行的代码

    最近的一个项目中在保存表单数据时,要用到一个动态添加行的功能。平时动态添加行只是在表格的最下面添加,现在在表格中间动态添加行,而且表格内部是包含并且单元格的,其实很简单,下面贴出代码。
    2010-06-06
  • js实现iframe动态调整高度的代码

    js实现iframe动态调整高度的代码

    iframe,尤其是不带边框的iframe因为能和网页无缝的结合从而不刷新页面的情况下更新页面的部分数据成为可能,可是iframe的大小却不像层那样可以“伸缩自如”,所以带来了使用上的麻烦,给iframe设置高度的时候多了也不好,少了更是不行,现在,让我来告诉大家一种iframe动态调整高度的方法,主要是以下JS函数:
    2008-01-01
  • js添加类名的两种方法

    js添加类名的两种方法

    这篇文章主要介绍了js添加类名的两种方法,一种是通过className来添加、删除类名,另一种是通过classList来添加、删除类名,感兴趣的朋友跟随小编一起看看吧
    2023-11-11
  • JS中artdialog弹出框控件之提交表单思路详解

    JS中artdialog弹出框控件之提交表单思路详解

    artDialog是一个基于javascript编写的对话框组件,它拥有精致的界面与友好的接口。本文给大家介绍JS中artdialog弹出框控件之提交表单思路详解,对本文感兴趣的朋友一起学习吧
    2016-04-04
  • 基本DOM节点操作

    基本DOM节点操作

    本文主要介绍了基本DOM节点操作,具有一定的参考价值,下面跟着小编一起来看下吧
    2017-01-01
  • js判断文件是否为utf-8编码的方法

    js判断文件是否为utf-8编码的方法

    使用FileReader以utf-8格式读取文件,根据文件内容是否包含乱码字符,来判断文件是否为utf-8,本文就详细的介绍一下使用,感兴趣的小伙伴们可以参考一下
    2021-06-06

最新评论