2011-09-24 14 views
0

"現在の要素を中心にするためには左の値をどうするべきか"を返す関数を作成しようとしています。これにより、私は中心に(そして後ろに)アニメートするか、単にアイテムを中心に置くことができます。相対配置された要素をjqueryで中央に配置するにはどうすればよいですか?

相対配置部分に問題があります。私は何を取りこぼしたか?

ありがとうございます!


jQuery.fn.centerHorizontalOffset = function() { 
    var position = $(this).css("position"); 
    if (position == "relative"){ 
     return (($(window).width() - $(this).width())/2) - $(this).parent().offset().left; 
    } else if (position == "absolute"){ 
     return ($(window).width() - $(this).width())/2; 
    } 
    return ($(window).width() - $(this).width())/2; 
} 
jQuery.fn.centerHorizontalDistance = function() { 
    return $(this).centerHorizontalOffset()-$(this).position().left; 
} 
$('#myDiv').css('left', $('#myDiv').centerHorizontalDistance()); 
+0

http://jsfiddle.netを作成してください。あなたのHTMLとCSSを含むこれまでのものを作成してください。私にはちょっと逆らっているように見えるのはちょっと難しいです。 – tw16

+0

私はちょうどjquery UIフレームワークを使用して、感謝! – chacham15

答えて

0

私はjQueryのUIの新しい「位置」プラグインを使用してになりますhttp://jqueryui.com/demos/position/を - それはあなたが後にしているかを正確に行うことで、素晴らしいことです。

...私の知っている質問に直接答えはありませんが、これは私に時間を節約しました。なぜホイールを再発明するのですか? =)。がんばろう!

関連する問題