2012-02-06 68 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返回文档顶部的元素位置。所以,当我滚动文档时,它会返回非常大的值。其实我想从窗口顶部获得偏移量,但不能从文档中获得偏移量... – 2012-02-07 15:39:04

+1

试试我的编辑答案。 – ShankarSangoli 2012-02-07 15:40:04

+0

嗯...我要试一下,然后我会报告。谢谢! – 2012-02-07 16:34:11

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,谢谢!