2012-02-06 15 views
1

私は非常に単純な問題があります。 固定要素をjQueryで配置する方法

.jp-type-playlist 
{ 
    position: fixed; 
    bottom: 0px; 
} 

はまた、私はクリックで発射する必要がありますポップアップメニューを持っている:私は、それはクラスがそのように見えるのです私のウェブサイト上のプレーヤーを持っています。

.jp-playlists 
{ 
    position: fixed; 
    display: none; 
} 

どちらのブロックが同じレベルに位置しています:

<!-- Playlists --> 
<div class="jp-playlists">...</div> 
<!-- Player --> 
<div class="jp-type-playlist">...</div> 

私は次のプレイヤーにそれを配置したいと私はどのように行うのか分かりません。私は.offset()を使用しようとしましたが、ページがスクロールダウンされても役に立たないドキュメントの先頭からのオフセットだけを返します。 jQuery UI .position()を使用しようとしましたが、以前のソリューションと同じように機能しました。

問題を手伝ってください。ウェブサイトへのリンク:http://synthetic.fm/#&&Genre=&Artist=&Album=

プレイリストのメニューは小さな黄色のリストのように見えます。

ありがとうございます!

答えて

3

これを試すことができます。

var $playList = $('.jp-type-playlist'); 
$('.jp-playlists').css({ 
    left: ($playList.offset().left + $playList.width()), 
    top: $playList.offset().top + $(document).scrollTop() 
}); 
+0

私はそれを試みました。 .offset()。topは、要素の位置をドキュメントの先頭から返します。したがって、ドキュメントをスクロールすると、非常に大きな値が返されます。実際には、ウィンドウの上部からオフセットを取得したいのですが、ドキュメントからはオフセットを取得しません。 –

+1

私の編集した答えを試してみてください。 – ShankarSangoli

+0

ええと...私はそれを試してみるつもりです、そして、私は報告します。ありがとう! –

0

は最後に、私はそのように私の問題を解決しました:

$('.jp-playlists').css('bottom', $(window).height() + $(document).scrollTop() - $('.jp-playlists-show').offset().top + $('.jp-playlists-show').height()/2); 
$('.jp-playlists').css('left', $('.jp-playlists-show').offset().left - $('.jp-playlists').width()/2 + $('.jp-playlists-show').width()/2); 

ShankarSangoli、感謝を!

関連する問題