jQuery 位置插件


Posted in Javascript onDecember 25, 2008

插件代码:
/*任意位置浮动固定层*/
/*没剑(http://regedit.cnblogs.com) 08-03-11*/
/*说明:可以让指定的层浮动到网页上的任何位置,当滚动条滚动时它会保持在当前位置不变,不会产生闪动*/
/*2008-4-1修改:当自定义right位置时无效,这里加上一个判断
有值时就不设置,无值时要加18px已修正层位置在ie6下的问题
*/
/*调用:
1 无参数调用:默认浮动在右下角
$("#id").floatdiv();
2 内置固定位置浮动
//右下角
$("#id").floatdiv("rightbottom");
//左下角
$("#id").floatdiv("leftbottom");
//右下角
$("#id").floatdiv("rightbottom");
//左上角
$("#id").floatdiv("lefttop");
//右上角
$("#id").floatdiv("righttop");
//居中
$("#id").floatdiv("middle");
3 自定义位置浮动
$("#id").floatdiv({left:"10px",top:"10px"});
以上参数,设置浮动层在left 10个像素,top 10个像素的位置
*/
jQuery.fn.floatdiv=function(location){
//ie6要隐藏纵向滚动条
var isIE6=false;
if($.browser.msie && $.browser.version=="6.0"){
$("html").css("overflow-x","auto").css("overflow-y","hidden");
isIE6=true;
};
$("body").css({margin:"0px",padding:"0 10px 0 10px",
border:"0px",
height:"100%",
overflow:"auto"
});
return this.each(function(){
var loc;//层的绝对定位位置
if(location==undefined || location.constructor == String){
switch(location){
case("rightbottom")://右下角
loc={right:"0px",bottom:"0px"};
break;
case("leftbottom")://左下角
loc={left:"0px",bottom:"0px"};
break;
case("lefttop")://左上角
loc={left:"0px",top:"0px"};
break;
case("righttop")://右上角
loc={right:"0px",top:"0px"};
break;
case("middle")://居中
var l=0;//居左
var t=0;//居上
var windowWidth,windowHeight;//窗口的高和宽
//取得窗口的高和宽
if (self.innerHeight) {
windowWidth=self.innerWidth;
windowHeight=self.innerHeight;
}else if (document.documentElement&&document.documentElement.clientHeight) {
windowWidth=document.documentElement.clientWidth;
windowHeight=document.documentElement.clientHeight;
} else if (document.body) {
windowWidth=document.body.clientWidth;
windowHeight=document.body.clientHeight;
}
l=windowWidth/2-$(this).width()/2;
t=windowHeight/2-$(this).height()/2;
loc={left:l+"px",top:t+"px"};
break;
default://默认为右下角
loc={right:"0px",bottom:"0px"};
break;
}
}else{
loc=location;
}
$(this).css("z-index","9999").css(loc).css("position","fixed");
if(isIE6){
if(loc.right!=undefined){
//2008-4-1修改:当自定义right位置时无效,这里加上一个判断
//有值时就不设置,无值时要加18px已修正层位置
if($(this).css("right")==null || $(this).css("right")==""){
$(this).css("right","18px");
}
}
$(this).css("position","absolute");
}
});
};
使用方法:
<!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>
<script type="text/javascript" src="../js/jquery-1.2.6.js"></script>
<script type="text/javascript" src="../js/jquery.floatDiv.js"></script>
<script type="text/javascript">
$(function(){
$("#test").floatdiv({top:"200px",right:"200px"});
$("#rtop").floatdiv("righttop");
$("#floatAd").floatdiv({top:"50px",left:"50px"});
});
</script>
</head>
<body>
<div id="rtop" style="background-color: #666633; width: 300px; height: 100px;padding:2px;color:white;">右上角</div>
<div id="floatAd" style="background-color: #667733; width: 300px; height: 100px;padding:2px;color:white;">左下角</div>
<div id="test" style="background-color: #665533; width: 300px; height: 100px;padding:2px;color:white;">
<p>
/*任意位置浮动固定层*/<br />
/*说明:可以让指定的层浮动到网页上的任何位置,当滚动条滚动时它会保持在当前位置不变,不会产生闪动*/<br />
/*调用:<br />
1 无参数调用:默认浮动在右下角<br />
$("#id").floatdiv();</p>
<p>
2 内置固定位置浮动<br />
//右下角<br />
$("#id").floatdiv("rightbottom");<br />
//左下角<br />
$("#id").floatdiv("leftbottom");<br />
//右下角<br />
$("#id").floatdiv("rightbottom");<br />
//左上角<br />
$("#id").floatdiv("lefttop");<br />
//右上角<br />
$("#id").floatdiv("righttop");<br />
//居中<br />
$("#id").floatdiv("middle");</p>
<p>
3 自定义位置浮动<br />
$("#id").floatdiv({left:"10px",top:"10px"});<br />
以上参数,设置浮动层在left 10个像素,top 10个像素的位置<br />
*/</p>
</div>
<div>hello<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
hello
</div>
</body>
</html>

Javascript 相关文章推荐
Javascript异步表单提交,图片上传,兼容异步模拟ajax技术
May 10 Javascript
javascript与jquery中跳出循环的区别总结
Nov 04 Javascript
AngularJS使用angular-formly进行表单验证
Dec 27 Javascript
Jquery和angularjs获取check框选中的值的方法汇总
Jan 17 Javascript
javascript的BOM
May 03 Javascript
什么是JavaScript中的结果值?
Oct 08 Javascript
Bootstrap下拉菜单样式
Feb 07 Javascript
基于bootstrap实现收缩导航条
Mar 17 Javascript
前端自动化开发之Node.js的环境搭建教程
Apr 01 Javascript
详解express + mock让前后台并行开发
Jun 06 Javascript
Vue函数式组件-你值得拥有
May 09 Javascript
微信小程序通过一个json实现分享朋友圈图片
Sep 03 Javascript
jQuery 浮动广告实现代码
Dec 25 #Javascript
jQuery 操作XML入门
Dec 25 #Javascript
jQuery 动画基础教程
Dec 25 #Javascript
javascript jQuery插件练习
Dec 24 #Javascript
javascript 动态数据下的锚点错位问题解决方法
Dec 24 #Javascript
javascript 网页跳转的方法
Dec 24 #Javascript
javascript prototype,executing,context,closure
Dec 24 #Javascript
You might like
饭制《星际争霸》Mod:优化游戏机制 增加新单位
2017/07/02 星际争霸
全国FM电台频率大全 - 23 四川省
2020/03/11 无线电
解析PayPal支付接口的PHP开发方式
2010/11/28 PHP
用PHP提取中英文词语以及数字的首字母的方法介绍
2013/04/23 PHP
PHP中spl_autoload_register()和__autoload()区别分析
2014/05/10 PHP
php中error与exception的区别及应用
2014/07/28 PHP
PHP SplObjectStorage使用实例
2015/05/12 PHP
php将html转成wml的WAP标记语言实例
2015/07/08 PHP
PHP给前端返回一个JSON对象的实例讲解
2018/05/31 PHP
PHP常见字符串操作函数与用法总结
2019/03/04 PHP
基于JQuery的一句代码实现表格的简单筛选
2010/07/26 Javascript
ie下jquery.getJSON的缓存问题的处理方法
2013/03/29 Javascript
AngularJS基础学习笔记之简单介绍
2015/05/10 Javascript
JavaScript的Backbone.js框架的一些使用建议整理
2016/02/14 Javascript
AngularJs 延时器、计时器实例代码
2017/09/16 Javascript
Vue header组件开发详解
2018/01/26 Javascript
Easyui 去除jquery-easui tab页div自带滚动条的方法
2019/05/10 jQuery
React组件对子组件children进行加强的方法
2019/06/23 Javascript
js实现直播点击飘心效果
2020/08/19 Javascript
手把手教你实现 Promise的使用方法
2020/09/02 Javascript
Python的ORM框架中SQLAlchemy库的查询操作的教程
2015/04/25 Python
Python 中的with关键字使用详解
2016/09/11 Python
解决Python安装后pip不能用的问题
2018/06/12 Python
python实现飞机大战微信小游戏
2020/03/21 Python
python+ffmpeg批量去视频开头的方法
2019/01/09 Python
python中matplotlib实现随鼠标滑动自动标注代码
2020/04/23 Python
python 等差数列末项计算方式
2020/05/03 Python
Python爬虫抓取论坛关键字过程解析
2020/10/19 Python
Selenium结合BeautifulSoup4编写简单的python爬虫
2020/11/06 Python
英国鞋类及配饰零售商:Kurt Geiger
2017/02/04 全球购物
招商业务员岗位职责
2013/12/16 职场文书
初中校园之声广播稿
2014/01/15 职场文书
学生检讨书范文
2014/10/30 职场文书
小学国庆节活动总结
2015/03/23 职场文书
逃出克隆岛观后感
2015/06/09 职场文书
MySQL transaction事务安全示例讲解
2022/06/21 MySQL