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 相关文章推荐
jquery实现在页面加载的时自动为日期插件添加当前日期
Aug 20 Javascript
JavaScript中Function详解
Feb 27 Javascript
javascript转换静态图片,增加粒子动画效果
May 28 Javascript
jQuery+PHP+MySQL实现无限级联下拉框效果
Feb 19 Javascript
Bootstrap CSS组件之分页(pagination)和翻页(pager)
Dec 17 Javascript
JQ中$(window).load和$(document).ready区别与执行顺序
Mar 01 Javascript
原生JS实现图片无缝滚动方法(附带封装的运动框架)
Oct 01 Javascript
angular2 ng2 @input和@output理解及示例
Oct 10 Javascript
让bootstrap的carousel支持滑动滚屏的实现代码
Nov 27 Javascript
js实现手机web图片左右滑动效果
Dec 29 Javascript
详解vue中axios的封装
Jul 18 Javascript
基于JS实现简单滑块拼图游戏
Oct 12 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
为php4加入动态flash文件的生成的支持
2006/10/09 PHP
Thinkphp中Create方法深入探究
2014/06/16 PHP
php生成唯一的订单函数分享
2015/02/02 PHP
PHP实现字母数字混合验证码功能
2019/07/11 PHP
PHP程序员必须知道的两种日志实例分析
2020/05/14 PHP
Javascript 去除数组的重复元素
2010/05/04 Javascript
ExtJs使用总结(非常详细)
2012/03/22 Javascript
有关于eclipse配置spket需要注意的一些地方
2013/04/07 Javascript
jQuery添加/改变/移除CSS类及判断是否已经存在CSS
2014/08/20 Javascript
javascript 自定义回调函数示例代码
2014/09/26 Javascript
jQuery.holdReady()方法用法实例
2014/12/27 Javascript
JavaScript简介
2015/02/15 Javascript
JS遍历数组及打印数组实例分析
2016/01/21 Javascript
AngularJs  unit-testing(单元测试)详解
2016/09/02 Javascript
Vue.js手风琴菜单组件开发实例
2017/05/16 Javascript
JS实现中英文混合文字溢出友好截取功能
2018/08/06 Javascript
浅谈vux之x-input使用以及源码解读
2018/11/04 Javascript
layui表格分页 记录勾选的实例
2019/09/02 Javascript
Python中定时任务框架APScheduler的快速入门指南
2017/07/06 Python
解决phantomjs截图失败,phantom.exit位置的问题
2018/05/17 Python
Django 中间键和上下文处理器的使用
2019/03/17 Python
pytorch 批次遍历数据集打印数据的例子
2019/12/30 Python
Pandas之read_csv()读取文件跳过报错行的解决
2020/04/21 Python
tensorflow模型的save与restore,及checkpoint中读取变量方式
2020/05/26 Python
python从Oracle读取数据生成图表
2020/10/14 Python
python 使用OpenCV进行简单的人像分割与合成
2021/02/02 Python
CSS3的Border-radius轻松制作圆角
2012/12/24 HTML / CSS
世界上最大的网络主机公司:1&1
2016/10/12 全球购物
芬兰设计商店美国:Finnish Design Shop US
2019/03/25 全球购物
亚马逊加拿大网站:Amazon.ca
2020/01/06 全球购物
上海方立数码笔试题
2013/10/18 面试题
成考报名单位证明范本
2014/01/16 职场文书
早读课迟到检讨书
2014/09/25 职场文书
买房协议书范本
2014/10/23 职场文书
Nginx配置https原理及实现过程详解
2021/03/31 Servers
Golang 实现超大文件读取的两种方法
2021/04/27 Golang