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 dom代码应用 简单的相册[firefox only]
Jun 12 Javascript
jQuery中[attribute]选择器用法实例
Dec 31 Javascript
jQuery实现感应鼠标动画效果自动伸长的输入框实例
Feb 24 Javascript
javascript创建对象的3种方法
Nov 02 Javascript
vue axios 二次封装的示例代码
Dec 08 Javascript
Angular17之Angular自定义指令详解
Jan 21 Javascript
webpack项目调试以及独立打包配置文件的方法
Feb 28 Javascript
js操作二进制数据方法
Mar 03 Javascript
jquery实现手风琴案例
May 04 jQuery
vue实现点击出现操作弹出框的示例
Nov 05 Javascript
Element-ui upload上传文件限制的解决方法
Jan 22 Javascript
解决vue $http的get和post请求跨域问题
Jun 07 Vue.js
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
火车采集器 免费版使出收费版本功能实现原理
2009/09/17 PHP
第四章 php数学运算
2011/12/30 PHP
PHP连接MYSQL数据库实例代码
2016/01/20 PHP
php制作基于xml的RSS订阅源功能示例
2017/02/08 PHP
List the Stored Procedures in a SQL Server database
2007/06/20 Javascript
javascript中数组中求最大值示例代码
2013/12/18 Javascript
通过pjax实现无刷新翻页(兼容新版jquery)
2014/01/31 Javascript
用C/C++来实现 Node.js 的模块(一)
2014/09/24 Javascript
jQuery使用empty()方法删除元素及其所有子元素的方法
2015/03/26 Javascript
js实现时间显示几天前、几小时前或者几分钟前的方法集锦
2015/05/29 Javascript
jQuery实现瀑布流布局详解(PC和移动端)
2020/09/01 Javascript
JS 数字转换为大写金额的简单实例
2016/08/04 Javascript
详解从新建vue项目到引入组件Element的方法
2017/08/29 Javascript
jquery鼠标悬停导航下划线滑出效果
2017/09/29 jQuery
js运算符的一些特殊用法
2018/07/29 Javascript
vuejs 制作背景淡入淡出切换动画的实例
2018/09/01 Javascript
vuex + axios 做登录验证 并且保存登录状态的实例
2018/09/16 Javascript
vue构建动态表单的方法示例
2018/09/22 Javascript
微信小程序canvas.drawImage完全显示图片问题的解决
2018/11/30 Javascript
Python制作刷网页流量工具
2017/04/23 Python
Python自动化运维之IP地址处理模块详解
2017/12/10 Python
详解PyTorch手写数字识别(MNIST数据集)
2019/08/16 Python
你应该知道的Python3.6、3.7、3.8新特性小结
2020/05/12 Python
Django的ListView超详细用法(含分页paginate)
2020/05/21 Python
keras绘制acc和loss曲线图实例
2020/06/15 Python
Python OpenCV读取中文路径图像的方法
2020/07/02 Python
Html5应用程序缓存(Cache manifest)
2018/06/04 HTML / CSS
YOINS官网:时尚女装网上购物
2017/03/17 全球购物
一年级学生评语大全
2014/04/21 职场文书
热门专业求职信
2014/05/24 职场文书
英语系本科生求职信
2014/07/15 职场文书
商场消防安全责任书
2014/07/29 职场文书
防汛工作情况汇报
2014/10/28 职场文书
党支部承诺书
2015/01/20 职场文书
Go timer如何调度
2021/06/09 Golang
用Python爬取英雄联盟的皮肤详细示例
2021/12/06 Python