2012-01-04 11 views
0

の中央オブジェクトユーザーがそう選択した場合、私は、ウィンドウ内のオブジェクトを中央:jQuery |次の関数でウィンドウのサイズ変更

var showObj = function(obj) { 

    setTimeout(function() { 
     if(opts.centerObj == true) { 
      var cssProps = { 
       'position' :'absolute', 
       'top' : (($(window).height() - $(obj).outerHeight())/2)+'px', 
       'left' : (($(window).width() - $(obj).outerWidth())/2)+'px' 
      } 
      obj.css(cssProps).fadeIn('slow'); 
     } 
      else { 
       obj.fadeIn('slow'); 
      } 
    }, 1500); 

} 

しかし、私はこの機能を微調整したり、ウィンドウ場合は、オブジェクトを中央ます別のものを作りたいですサイズを変更します。私はこれを使用することができます見てきました

$(window).resize(function() { 
    obj.css(cssProps); 
}); 

しかし、私は、私は、ウィンドウのサイズを変更すると何も起こりませんので、私は、間違っていると思います。

誰かが私に必要なものを行うか、現在の関数を微調整するその関数を作成する方法を教えてくれますか?

+1

これは前bajillion回... [あまりにリサイズを中心]の – Neal

+0

可能複製(http://stackoverflow.com/questions/5634444/center-on-resize-too) – Neal

答えて

2

。それはプライベートな機能の中にあるので、あなたがそれを伝えない限りアクセスできない。私は、あなたが望むことをやるための最も簡単な方法は、JSオブジェクトを作成し、それ自身の関数に入れるコードのビットを引き出すことだと思います。

var showObj = function(obj) { 

    setTimeout(function() { 
     if(opts.centerObj == true) { 
      var cssProps = getProps(obj); 
      obj.css(cssProps).fadeIn('slow'); 
     } 
     else { 
      obj.fadeIn('slow'); 
     } 
    }, 1500); 

} 

var getProps = function(obj) { 

    return { 
     'position' :'absolute', 
     'top' : (($(window).height() - $(obj).outerHeight())/2)+'px', 
     'left' : (($(window).width() - $(obj).outerWidth())/2)+'px' 
    } 
} 

$(window).resize(function() { 
    var cssProps = getProps(obj); 
    obj.css(cssProps); 
}); 
2

この質問は尋ねたと前に削除されたとhere is my solution(のみ10K)

jQuery.fn.center = function() { 

    var $self = $(this), _self = this; 
    var window_resize = function(){ 
     var window_obj = $(window); 
     $self.css({ 
      "position": "absolute", 
      "top": ((window_obj.height() - _self.outerHeight())/2), 
      "left": ((window_obj.width() - _self.outerWidth())/2) 
     }); 
    } 
    $self.bind('centerit', window_resize).trigger('centerit'); 
    $(window).bind('resize', function(){ 
     $self.trigger('centerit'); 
    }); 
    return _self; 

} 


$('div').center(); 

フィドル:http://jsfiddle.net/maniator/JeBHJ/あなたがcssPropsを呼び出している場所によって異なり

+0

あなたを尋ねてきましたリンクが「ページが見つかりません」を返します。 – Seth

+0

@Seth削除された質問は – Neal

+0

私は知っていますが、私は別のプラグインを探していない、私はいくつかの他のプラグインを持っています。私はこれをプラグインの中で使うので、簡単な関数でこれをしたい。 – Roland

関連する問題