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 相关文章推荐
js 目录列举函数
Nov 06 Javascript
EXTJS记事本 当CompositeField遇上RowEditor
Jul 31 Javascript
Jquery操作下拉框(DropDownList)实现取值赋值
Aug 13 Javascript
Node.js模块加载详解
Aug 16 Javascript
使用RequireJS库加载JavaScript模块的实例教程
Jun 06 Javascript
JS快速实现移动端拼图游戏
Sep 05 Javascript
jQuery选择器之子元素过滤选择器
Sep 28 jQuery
Vue单页面应用保证F5强刷不清空数据的解决方案
Jan 31 Javascript
vue-devtools的安装和使用步骤详解
Oct 17 Javascript
vue实现二级导航栏效果
Oct 19 Javascript
JS 事件机制完整示例分析
Jan 15 Javascript
适合后台管理系统开发的12个前端框架(小结)
Jun 29 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
咖啡常见的种类
2021/03/03 新手入门
php中session_unset与session_destroy的区别分析
2011/06/16 PHP
php中explode与split的区别介绍
2012/10/03 PHP
WordPress中对访客评论功能的一些优化方法
2015/11/24 PHP
用js实现计算代码行数的简单方法附代码
2007/08/13 Javascript
js取得url地址参数实例
2013/02/22 Javascript
纯JS实现五子棋游戏兼容各浏览器(附源码)
2013/04/24 Javascript
jQuery中使用data()方法读取HTML5自定义属性data-*实例
2014/04/11 Javascript
动态加载iframe时get请求传递中文参数乱码解决方法
2014/05/07 Javascript
JS函数this的用法实例分析
2015/02/05 Javascript
基于JavaScript实现定时跳转到指定页面
2016/01/01 Javascript
实例讲解jquery与json的结合
2016/01/07 Javascript
jquery分隔Url的param方法(推荐)
2016/05/25 Javascript
JavaScript使用享元模式实现文件上传优化操作示例
2018/08/07 Javascript
cnpm加速Angular项目创建的方法
2018/09/07 Javascript
使用vue2.0创建的项目的步骤方法
2018/09/25 Javascript
js+html5 canvas实现ps钢笔抠图
2019/04/28 Javascript
vue中在vuex的actions中请求数据实例
2019/11/08 Javascript
vue中v-for循环选中点击的元素并对该元素添加样式操作
2020/07/17 Javascript
vue+springboot+element+vue-resource实现文件上传教程
2020/10/21 Javascript
[01:29:31]VP VS VG Supermajor小组赛胜者组第二轮 BO3第一场 6.2
2018/06/03 DOTA
优化Python代码使其加快作用域内的查找
2015/03/30 Python
在Python的Django框架中包装视图函数
2015/07/20 Python
python中常用的九种预处理方法分享
2016/09/11 Python
Python中字典和集合学习小结
2017/07/07 Python
PyQt4 treewidget 选择改变颜色,并设置可编辑的方法
2019/06/17 Python
pyqt5 实现多窗口跳转的方法
2019/06/19 Python
Python Django中间件,中间件函数,全局异常处理操作示例
2019/11/08 Python
平面设计专业大学生职业规划书
2014/03/12 职场文书
战略合作意向书范本
2014/04/01 职场文书
艺人经纪人岗位职责
2014/04/15 职场文书
乡领导班子四风问题对照检查材料
2014/09/25 职场文书
2014年学校禁毒工作总结
2014/12/23 职场文书
会计求职信怎么写
2015/03/20 职场文书
2015初中教导处工作总结
2015/07/21 职场文书
MySQL派生表联表查询实战过程
2022/03/20 MySQL