我正在尝试在jPlayer(一个javascript音频播放列表)中的各种事件上实现滚动到DIV(即平滑滚动一些缓动)。基本上播放列表在滚动DIV中,滚动条和鼠标滚轮滚动,当曲目改变时,我希望它触发滚动到当前播放的曲目,即新曲目,使其在DIV中垂直居中(具有一个可变的高度。)
我想我会首先尝试在#jplayer_next事件中添加一些代码,通常如下所示:
$("#jplayer_next").click( function() {
playListNext();
$(this).blur();
return false;
});
我想出了以下代码来添加:
$("#jplayer_playlist").scrollTop($(".jplayer_playlist_current").offset().top);
其中#jplayer_playlist是滚动DIV而.jplayer_playlist_current是当前播放曲目的类。代码确实做了一些事情,但我看到相当无意义的跳转div,这似乎与当前播放的曲目有些相关,但肯定不是我想要的。
您可以看到播放列表here。当前播放的曲目以绿色突出显示,当您单击下一个按钮时,DIV肯定无法顺畅滚动到当前播放的曲目!
如果有人可以帮我修改代码以使其正常工作,我将不胜感激。
谢谢,
尼克
答案 0 :(得分:0)
我无法给你一个直接的答案,但你有没有想过为schrollbar使用一个JQuery插件,它会让它看起来更好一点。
http://www.kelvinluck.com/assets/jquery/jScrollPane/scrollTo.html
JScrollpane有一个“scrollTo”函数,我相信它使用哈希链接来定义滚动到的位置。
我个人喜欢Control.Scrollbar,但它使用Prototype Framework代替JQuery。