利用jq让你的div居中的好方法分享


Posted in Javascript onNovember 21, 2013

very short version:

$('#myDiv').css({top:'50%',left:'50%',margin:'-'+($('#myDiv').height() / 2)+'px 0 0 -'+($('#myDiv').width() / 2)+'px'});

short version:

(function($){
    $.fn.extend({
        center: function () {
            return this.each(function() {
                var top = ($(window).height() - $(this).outerHeight()) / 2;
                var left = ($(window).width() - $(this).outerWidth()) / 2;
                $(this).css({position:'absolute', margin:0, top: (top > 0 ? top : 0)+'px', left: (left > 0 ? left : 0)+'px'});
            });
        }
    }); 
})(jQuery);

Activated by this code :
$('#mainDiv').center();
 

PLUGIN VERSION

(function($){
     $.fn.extend({
          center: function (options) {
               var options =  $.extend({ // Default values
                    inside:window, // element, center into window
                    transition: 0, // millisecond, transition time
                    minX:0, // pixel, minimum left element value
                    minY:0, // pixel, minimum top element value
                    withScrolling:true, // booleen, take care of the scrollbar (scrollTop)
                    vertical:true, // booleen, center vertical
                    horizontal:true // booleen, center horizontal
               }, options);
               return this.each(function() {
                    var props = {position:'absolute'};
                    if (options.vertical) {
                         var top = ($(options.inside).height() - $(this).outerHeight()) / 2;
                         if (options.withScrolling) top += $(options.inside).scrollTop() || 0;
                         top = (top > options.minY ? top : options.minY);
                         $.extend(props, {top: top+'px'});
                    }
                    if (options.horizontal) {
                          var left = ($(options.inside).width() - $(this).outerWidth()) / 2;
                          if (options.withScrolling) left += $(options.inside).scrollLeft() || 0;
                          left = (left > options.minX ? left : options.minX);
                          $.extend(props, {left: left+'px'});
                    }
                    if (options.transition > 0) $(this).animate(props, options.transition);
                    else $(this).css(props);
                    return $(this);
               });
          }
     });
})(jQuery);

Activated by this code :

$(document).ready(function(){
    $('#mainDiv').center();
    $(window).bind('resize', function() {
        $('#mainDiv').center({transition:300});
    });
);
Javascript 相关文章推荐
Javascript 倒计时源代码.(时.分.秒) 详细注释版
May 09 Javascript
form表单中去掉默认的enter键提交并绑定js方法实现代码
Apr 01 Javascript
jquery 页面滚动到底部自动加载插件集合
Jan 31 Javascript
谷歌地图打不开的解决办法
Aug 07 Javascript
javascript实现修改微信分享的标题内容等
Dec 11 Javascript
IE下使用jQuery重置iframe地址时内存泄露问题解决办法
Feb 05 Javascript
JavaScript闭包和范围实例详解
Dec 19 Javascript
微信JS SDK接入的几点注意事项(必看篇)
Jun 23 Javascript
实用Javascript调试技巧分享(小结)
Jun 18 Javascript
Vue父组件如何获取子组件中的变量
Jul 24 Javascript
深入了解JS之作用域和闭包
Jun 16 Javascript
Vue 同步异步存值取值实现案例
Aug 05 Javascript
Flex通过JS获取客户端IP和计算机名的实例代码
Nov 21 #Javascript
开发插件的两个方法jquery.fn.extend与jquery.extend
Nov 21 #Javascript
JS连接SQL数据库与ACCESS数据库的方法实例
Nov 21 #Javascript
js中一个函数获取另一个函数返回值问题探讨
Nov 21 #Javascript
js设置组合快捷键/tabindex功能的方法
Nov 21 #Javascript
jtable列中自定义button示例代码
Nov 21 #Javascript
动态标签 悬停效果 延迟加载示例代码
Nov 21 #Javascript
You might like
星际争霸兵种名称对照表
2020/03/04 星际争霸
dedecms防止FCK乱格式化你的代码的修改方法
2007/03/17 PHP
ThinkPHP使用smarty模板引擎的方法
2014/07/01 PHP
ThinkPHP3.2.2的插件控制器功能
2015/03/05 PHP
yii实现使用CUploadedFile上传文件的方法
2015/12/28 PHP
一行代码实现纯数据json对象的深度克隆实现思路
2013/01/09 Javascript
Ext中下拉列表ComboBox组件store数据格式用法介绍
2013/07/15 Javascript
javasciprt下jquery函数$.post执行无响应的解决方法
2014/03/13 Javascript
JS实现当前页居中分页效果的方法
2015/06/18 Javascript
javascript删除数组重复元素的方法汇总
2015/06/24 Javascript
JavaScript实现文本框中默认显示背景图片在获得焦点后消失的方法
2015/07/01 Javascript
创建自己的jquery表格插件
2015/11/25 Javascript
javascript html5摇一摇功能的实现
2016/04/19 Javascript
深入理解setTimeout函数和setInterval函数
2016/05/20 Javascript
JavaScript中Array对象用法实例总结
2016/11/29 Javascript
js仿淘宝评价评分功能
2017/02/28 Javascript
js实现web调用摄像头 js截取视频画面
2019/04/21 Javascript
详解Vue前端生产环境发布配置实战篇
2019/05/07 Javascript
ES6 Proxy实现Vue的变化检测问题
2019/06/11 Javascript
js中火星坐标、百度坐标、WGS84坐标转换实现方法示例
2020/03/02 Javascript
JavaScript实现alert弹框效果
2020/11/19 Javascript
[50:15]VP vs Mineski 2018国际邀请赛淘汰赛BO3 第二场 8.22
2018/08/23 DOTA
Python学习笔记_数据排序方法
2014/05/22 Python
Python函数式编程指南(四):生成器详解
2015/06/24 Python
python实现图片批量压缩程序
2018/07/23 Python
Python使用sax模块解析XML文件示例
2019/04/04 Python
python暴力解压rar加密文件过程详解
2019/07/05 Python
python 模拟银行转账功能过程详解
2019/08/06 Python
使用pandas的box_plot去除异常值
2019/12/10 Python
使用pandas库对csv文件进行筛选保存
2020/05/25 Python
高中英语演讲稿范文
2014/04/24 职场文书
幼儿教师演讲稿
2014/05/06 职场文书
清明节演讲稿
2014/05/27 职场文书
社区戒毒工作方案
2014/06/04 职场文书
费用申请报告范文
2015/05/15 职场文书
一小时学会TensorFlow2之基本操作2实例代码
2021/09/04 Python