惯性聚合 高效追踪和阅读你感兴趣的博客、新闻、科技资讯
阅读原文 在惯性聚合中打开

推荐订阅源

Google Online Security Blog
Google Online Security Blog
freeCodeCamp Programming Tutorials: Python, JavaScript, Git & More
Stack Overflow Blog
Stack Overflow Blog
GbyAI
GbyAI
Microsoft Azure Blog
Microsoft Azure Blog
I
InfoQ
F
Fortinet All Blogs
N
Netflix TechBlog - Medium
Martin Fowler
Martin Fowler
腾讯CDC
C
CERT Recently Published Vulnerability Notes
博客园 - 聂微东
L
LINUX DO - 热门话题
Y
Y Combinator Blog
H
Hackread – Cybersecurity News, Data Breaches, AI and More
Threat Intelligence Blog | Flashpoint
Threat Intelligence Blog | Flashpoint
OSCHINA 社区最新新闻
OSCHINA 社区最新新闻
钛媒体:引领未来商业与生活新知
钛媒体:引领未来商业与生活新知
Microsoft Security Blog
Microsoft Security Blog
cs.CL updates on arXiv.org
cs.CL updates on arXiv.org
WordPress大学
WordPress大学
C
Cisco Blogs
A
Arctic Wolf
Latest news
Latest news
Jina AI
Jina AI
P
Proofpoint News Feed
博客园 - 叶小钗
Vercel News
Vercel News
T
Threat Research - Cisco Blogs
博客园 - 三生石上(FineUI控件)
K
Kaspersky official blog
C
Check Point Blog
H
Heimdal Security Blog
博客园 - Franky
小众软件
小众软件
The Register - Security
The Register - Security
Application and Cybersecurity Blog
Application and Cybersecurity Blog
Google DeepMind News
Google DeepMind News
AWS News Blog
AWS News Blog
The Hacker News
The Hacker News
T
The Exploit Database - CXSecurity.com
aimingoo的专栏
aimingoo的专栏
Project Zero
Project Zero
G
GRAHAM CLULEY
爱范儿
爱范儿
奇客Solidot–传递最新科技情报
奇客Solidot–传递最新科技情报
Scott Helme
Scott Helme
让小产品的独立变现更简单 - ezindie.com
让小产品的独立变现更简单 - ezindie.com
Exploit-DB.com RSS Feed
Exploit-DB.com RSS Feed
NISL@THU
NISL@THU

博客园 - songsoft

Js表单验证控件-02 Ajax验证 Js表单验证控件(使用方便,无需编码)-01使用说明 字符串对比 KindEditor编辑器For DotNet控件 模板引擎开发(三)-自定义标签的处理 Flash AS实现时钟效果(全脚本实现) 模板引擎开发(二)-值标签的处理 模板引擎开发(一) 软件开发模型之一 万祖归宗是瀑布 关于制度化管理 关于加薪的策略 关于文档编写 蓝海与红海--有感于软件创新 李广难封--有感于团队建设 哪里是乐土?--关于团队良性循环 从酒桌上看团队建设 创造一切条件让大家“混” 百万富翁成长路线 绿有四季--关于需求沟通
Jquery插件-浮动广告
songsoft · 2013-06-09 · via 博客园 - songsoft

 前几天工作中碰到一个在页面中显示浮动广告的功能,这类js代码实在很多,所以打算在网上找个代码复制一下就OK了,找了半天却没有找到合适的。

虽然这些代码都可以实现浮动层显示在屏幕的固定位置,并随着窗口滚动而滚动,但是现在显示器普遍比较大,页面内容只能显示在屏幕的中央,当浮动广告在左侧或右侧时,只能设置离窗口边框的距离,于是离内容区很远。我想实现浮动层能正好在内容区域的边上。

找了两三个小时也没有找到合适的,一生气自己写了一个,只费了半个小时,呵呵。

代码如下:

//设置浮动块
//element:浮动窗的id
//position:基准位置,选项left、right或center,窗口左侧还是右侧,还是中心;默认是left
//distance:距离,离基准位置的距离,可以为正负值
//top:离窗口顶的距离
jQuery.fn.FloatBox=function(element,position,distance,top){
 if(typeof(element)=="string")element=$(element); 
 if(element.size()<1)return;
 //初始化一些值
 position=position!=null && position!="" ? position : "left";
 distance=distance!=null ? distance : $(window).width()/2;
 top=top!=null ? top : 0;
 //计算浮动窗体在左侧位置(坐标)
 var left= 0;
 if(position=="left")left=distance;
 if(position=="right")left=$(window).width()-distance-element.width();
 if(position=="center")left=distance>0 ? $(window).width()/2+distance : $(window).width()/2+distance-element.width();
 //设置浮动窗的属性,主要是设置坐标
 element.css({position: "absolute",
    "z-index": 20001,
    left: left,
    top: top});
 $(window).scroll(function (){
  var offsetTop = $(window).scrollTop();
  element.animate({top : offsetTop+top },{ duration:500 , queue:false });
 })
}

上述代码可以实现浮动块居左,还是居右,还是居中;当居中时,可以设置distance的偏差值,如网页的内容区域是1000px,则设置-500时浮动块正好显示在内容区的左侧。

如下例代码:

$(document).ready(function(){
 $().FloatBox("#Ols","center",-520,140);
 $().FloatBox("#qrcode","center",520,140);
});

设置了两个浮动块,一个在内容的左侧,一个在内容的右侧;

我测试了一下,在IE6、Firefox、Chrome中都正常,其它浏览器没有测试。

我个人感觉使用还算方便,不过也有一些欠缺,例如现在只是考虑到的左右的位置,没有考虑诸如固定左下角、右下角之类的位置。还好代码并不复杂,有兴趣的朋友可以完善一下。