• 技术文章 >web前端 >js教程

    jquery div 居中技巧应用介绍_jquery

    2016-05-16 17:48:01原创494
    very short version:
    [html]
    复制代码 代码如下:

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

    short version:
    [html]
    复制代码 代码如下:

    (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);
    (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();

    [javascript]
    复制代码 代码如下:

    (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);
    [code]
    (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);

    PLUGIN VERSION
    [javascript]
    复制代码 代码如下:

    (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);

    复制代码 代码如下:

    (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});
    });
    );

    观此人JS代码,让人叹为观止。
    简洁明了。却又举一反三。
    声明:本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn核实处理。
    专题推荐:jquery div 居中
    上一篇:JavaScript mapreduce工作原理简析_基础知识 下一篇:javascript克隆对象深度介绍_基础知识
    20期PHP线上班

    相关文章推荐

    精选22门好课,价值3725元,开通VIP免费学习!• 万字图解JavaScript笔记总结• 如何搞懂虚拟 DOM?看看这篇文章吧!• 深入聊聊Node 异步和事件循环的底层实现和执行机制• 简单介绍JavaScript “原型“与“原型链“• 聊聊Node.js中的进程、线程、协程与并发模型
    1/1

    PHP中文网