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 相关文章推荐
弹出广告特效代码(一个IP只弹出一次)
May 11 Javascript
js post方式传递提交的实现代码
May 31 Javascript
JavaScript入门之事件、cookie、定时等
Oct 21 Javascript
没有document.getElementByName方法
Aug 19 Javascript
jQuery遍历Form示例代码
Sep 03 Javascript
在JavaScript中操作时间之getUTCDate()方法的使用
Jun 10 Javascript
js获取隐藏元素宽高的实现方法
May 19 Javascript
微信小程序多音频播放进度条问题
Aug 28 Javascript
微信小程序实现获取小程序码和二维码java接口开发
Mar 29 Javascript
React实现阿里云OSS上传文件的示例
Aug 10 Javascript
使用webpack5从0到1搭建一个react项目的实现步骤
Dec 16 Javascript
vue自定义右键菜单之全局实现
Apr 09 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
超外差式晶体管收音机的组装与统调
2021/03/01 无线电
[原创]PHP实现字节数Byte转换为KB、MB、GB、TB的方法
2017/08/31 PHP
php使用lua+redis实现限流,计数器模式,令牌桶模式
2019/04/04 PHP
js实现的动画导航菜单效果代码
2015/09/10 Javascript
利用JavaScript对中文(汉字)进行排序实例详解
2017/06/18 Javascript
详解IWinter 一个路由转控制器的 Nodejs 库
2017/11/15 NodeJs
opencv 识别微信登录验证滑动块位置
2018/08/07 Javascript
JS实现的简单分页功能示例
2018/08/23 Javascript
在vue中解决提示警告 for循环报错的方法
2018/09/28 Javascript
vue实现表单录入小案例
2019/09/27 Javascript
js实现文章目录索引导航(table of content)
2020/05/10 Javascript
绘制微信小程序验证码功能的实例代码
2021/01/05 Javascript
[02:39]DOTA2英雄基础教程 天怒法师
2013/11/29 DOTA
python提示No module named images的解决方法
2014/09/29 Python
python利用正则表达式排除集合中字符的功能示例
2017/10/10 Python
Python中进程和线程的区别详解
2017/10/29 Python
Django之Mode的外键自关联和引用未定义的Model方法
2018/12/15 Python
Python for循环通过序列索引迭代过程解析
2020/02/07 Python
详解scrapy内置中间件的顺序
2020/09/28 Python
Python ellipsis 的用法详解
2020/11/20 Python
CSS3 简写animation
2012/05/10 HTML / CSS
详解通过变换矩阵实现canvas的缩放功能
2019/01/14 HTML / CSS
Html5实现首页动态视频背景的示例代码
2019/09/25 HTML / CSS
什么是类的返射机制
2016/02/06 面试题
上海天奕面试题笔试题
2015/04/19 面试题
物理教学随笔感言
2014/02/22 职场文书
《九色鹿》教学反思
2014/02/27 职场文书
自主招生推荐信范文
2014/05/10 职场文书
大学生第一学年自我鉴定2015
2014/09/28 职场文书
党员个人查摆剖析材料
2014/10/16 职场文书
2014年学校党建工作汇报材料
2014/11/02 职场文书
教师岗位职责
2015/02/03 职场文书
护理专业自荐信范文
2015/03/06 职场文书
消费者理赔投诉书
2015/07/02 职场文书
php解析非标准json、非规范json的方式实例
2022/05/10 PHP
MySql如何将查询的出来的字段进行转换
2022/06/14 MySQL