jQuery实现仿新浪微博浮动的消息提示框(可智能定位)


Posted in Javascript onOctober 10, 2015

本文实例讲述了jQuery实现仿新浪微博浮动的消息提示框。分享给大家供大家参考。具体如下:

这是一款jQuery实现的仿新浪微博新消息提示框效果,支持智能浮动定位框,新浪微博用来提示消息时候的智能定位框,可以适时关闭窗口,你完全可以将其应用到你网页的其它地方。

运行效果截图如下:

jQuery实现仿新浪微博浮动的消息提示框(可智能定位)

在线演示地址如下:

具体代码如下:

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<title>仿新浪微博新消息提示的智能浮动定位框</title>
<meta http-equiv="content-type" content="text/html;charset=gb2312">
<style type="text/css"> 
*{margin:0;padding:0;}
body{font:12px/1.8 Arial;color:#666;}
h1.tit-h1{font-size:38px;text-align:center;margin:30px 0 15px;color:#f60;}
.go-back{text-align:center;border-top:1px dashed #ccc;padding:10px;margin-top:20px;font-size:40px;}
.wrap{border:1px dashed #ccc;background:#f8f8f8;padding:20px;}
.demo{height:1500px;}
.float{width:200px;padding:5px 10px;border:1px solid #ffecb0;font-size:12px;background-color:#fffee0;-moz-box-shadow:1px 1px 2px rgba(0,0,0,.2);-webkit-box-shadow:1px 1px 2px rgba(0,0,0,.2);box-shadow:1px 1px 2px rgba(0,0,0,.2);position:absolute;-moz-border-radius:5px;-webkit-border-radius:5px;border-radius:5px;}
.float .close-ico{position:absolute;top:5px;right:5px;display:block;width:16px;height:16px;}
/* Head Fixed */
.fixed-top{position:fixed;bottom:auto;top:0px;}
/* Foot Fixed */
.fixed-bottom{position:fixed;bottom:0px;top:auto;}
/* Left Fixed */
.fixed-left{position:fixed;right:auto;left:0px;}
/* RIGHT Fixed */
.fixed-right{position:fixed;right:0px;left:auto;}
* html,* html body{background-attachment:fixed;}
/* IE6 Head Fixed */
* html .fixed-top{position:absolute;bottom:auto;top:expression(eval(document.documentElement.scrollTop));}
/* IE6 RIGHT Fixed */
* html .fixed-right{position:absolute;right:auto;left:expression(eval(document.documentElement.scrollLeft+document.documentElement.clientWidth-this.offsetWidth)-(parseInt(this.currentStyle.marginLeft,10)||0)-(parseInt(this.currentStyle.marginRight,10)||0));}
/* IE6 Foot Fixed */
* html .fixed-bottom{position:absolute;bottom:auto;top:expression(eval(document.documentElement.scrollTop+document.documentElement.clientHeight-this.offsetHeight-(parseInt(this.currentStyle.marginTop,10)||0)-(parseInt(this.currentStyle.marginBottom,10)||0)));}
/* IE6 Left Fixed */
* html .fixed-left{position:absolute;right:auto;left:expression(eval(document.documentElement.scrollLeft));}
</style> 
<script type="text/javascript" src="jquery-1.6.2.min.js"></script>
<script type="text/javascript">
/**
 * @author:愚人码头
 * 类似于新浪微博新消息提示的定位框
 */
(function($){
 $.fn.capacityFixed = function(options) {
 var opts = $.extend({},$.fn.capacityFixed.deflunt,options);
 var FixedFun = function(element) {
  var top = opts.top;
  var right = ($(window).width()-opts.pageWidth)/2+opts.right;
  element.css({
  "right":right,
  "top":top
  });
  $(window).resize(function(){
  var right = ($(window).width()-opts.pageWidth)/2+opts.right;
  element.css({
   "right":right
  });
  });
  $(window).scroll(function() {
  var scrolls = $(this).scrollTop();
  if (scrolls > top) {
   if (window.XMLHttpRequest) {
   element.css({
    position: "fixed",
    top: 0
   });
   } else {
   element.css({
    top: scrolls
   });
   }
  }else {
   element.css({
   position: "absolute",
   top: top
   });
  }
  });
  element.find(".close-ico").click(function(event){
  element.remove();
  event.preventDefault();
  })
 };
 return $(this).each(function() {
  FixedFun($(this));
 });
 };
 $.fn.capacityFixed.deflunt={
right : 100,//相对于页面宽度的右边定位
 top:150,
 pageWidth : 960
 };
})(jQuery);
</script>
</head>
<body>
<div style="height:2000px;"></div>
<div class="wrap">
 <div class="float" id="float">
  <p>1条新私信,<a href="#">查看私信</a></p>
  <p>108个新粉丝,<a href="#">查看粉丝</a></p>
  <a href="#" title="关闭" id="" class="close-ico">×</a>
 </div>
</div>
<script type="text/javascript">
$("#float").capacityFixed();
</script>
</body>
</html>

希望本文所述对大家的jQuery程序设计有所帮助。

Javascript 相关文章推荐
HTML中不支持静态Expando的元素的问题
Mar 08 Javascript
javascript与CSS复习(二)
Jun 29 Javascript
javascript实现div的显示和隐藏的小例子
Jun 25 Javascript
jquery在ie7下选择器的问题导致append失效的解决方法
Jan 10 Javascript
jquery中live()方法和bind()方法区别分析
Jun 23 Javascript
Angular使用Md5加密的解决方法
Sep 16 Javascript
在Mac下彻底卸载node和npm的方法
May 16 Javascript
微信小程序实践之动态控制组件的显示/隐藏功能
Jul 18 Javascript
使用electron制作满屏心特效的示例代码
Nov 27 Javascript
微信JSSDK实现打开摄像头拍照再将相片保存到服务器
Nov 15 Javascript
jQuery实现的分页插件完整示例
May 26 jQuery
解决antd 下拉框 input [defaultValue] 的值的问题
Oct 31 Javascript
JS+DIV+CSS排版布局实现美观的选项卡效果
Oct 10 #Javascript
JS实现漂亮的窗口拖拽效果(可改变大小、最大化、最小化、关闭)
Oct 10 #Javascript
JavaScript实现的浮动层框架用法实例分析
Oct 10 #Javascript
表单验证插件Validation应用的实例讲解
Oct 10 #Javascript
JS实现的车标图片提示效果代码
Oct 10 #Javascript
jqTransform美化表单
Oct 10 #Javascript
clipboard.js无需Flash无需依赖任何JS库实现文本复制与剪切
Oct 10 #Javascript
You might like
如何在symfony中导出为CSV文件中的数据
2011/10/06 PHP
实现PHP+Mysql无限分类的方法汇总
2015/03/02 PHP
Zend Framework实现自定义过滤器的方法
2016/12/09 PHP
IE中直接运行显示当前网页中的图片 推荐
2006/08/31 Javascript
JavaScript中的私有/静态属性介绍
2012/07/26 Javascript
js在指定位置增加节点函数insertBefore()用法实例
2015/01/12 Javascript
js实现图片无缝滚动
2015/12/23 Javascript
基于javascript数组实现图片轮播
2016/05/02 Javascript
jQuery通用的全局遍历方法$.each()用法实例
2016/07/04 Javascript
nodejs模块nodemailer基本使用-邮件发送示例(支持附件)
2017/03/28 NodeJs
3分钟快速搭建nodejs本地服务器方法运行测试html/js
2017/04/01 NodeJs
JS中正则表达式全局匹配模式 /g用法详解
2017/04/01 Javascript
JS去掉字符串前后空格、阻止表单提交的实现代码
2017/06/08 Javascript
node+vue实现用户注册和头像上传的实例代码
2017/07/20 Javascript
JavaScript选取(picking)和反选(rejecting)对象的属性方法
2017/08/16 Javascript
微信小程序自定义toast实现方法详解【附demo源码下载】
2017/11/28 Javascript
vue实现点击展开点击收起效果
2018/04/27 Javascript
vue 设置路由的登录权限的方法
2018/07/03 Javascript
JS在Array数组中按指定位置删除或添加元素对象方法示例
2019/11/19 Javascript
2019年度web前端面试题总结(主要为Vue面试题)
2020/01/12 Javascript
深入浅析JavaScript中的in关键字和for-in循环
2020/04/20 Javascript
python定时采集摄像头图像上传ftp服务器功能实现
2013/12/23 Python
python中利用await关键字如何等待Future对象完成详解
2017/09/07 Python
Sanic框架配置操作分析
2018/07/17 Python
django 环境变量配置过程详解
2019/08/06 Python
opencv python图像梯度实例详解
2020/02/04 Python
Python PyQt5运行程序把输出信息展示到GUI图形界面上
2020/04/27 Python
西班牙创意礼品和小工具网上商店:Curiosite
2016/07/26 全球购物
VELTRA台湾:世界自由行专家
2017/08/15 全球购物
Hunkemöller西班牙:欧洲最大的内衣连锁店
2018/08/15 全球购物
zooplus德国:便宜地订购动物用品、动物饲料、动物食品
2020/05/06 全球购物
某公司Java工程师面试题笔试题
2016/03/27 面试题
效能风暴心得体会
2014/09/04 职场文书
2014年银行柜员工作总结
2014/11/12 职场文书
MySQL基础(二)
2021/04/05 MySQL
Redis主从复制操作和配置详情
2022/09/23 Redis