0

我正在尝试在 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 周围跳跃相当荒谬,这似乎与当前播放的曲目有些相关,但肯定不是我想要的。

您可以在此处查看播放列表。当前播放的曲目以绿色突出显示,当您单击下一步按钮时,DIV 肯定不会平滑地滚动到当前播放的曲目!

如果有人可以帮助我修改代码以使其正常工作,我将不胜感激。

谢谢,

缺口

4

1 回答 1

0

我不能给你一个直接的答案,但是你有没有想过为 schrollbar 使用一个 JQuery 插件,它也会让它看起来更好一点。

http://www.kelvinluck.com/assets/jquery/jScrollPane/scrollTo.html

JScrollpane 具有“scrollTo”功能,我相信它使用哈希链接来定义滚动到的位置。

我个人喜欢Control.Scrollbar,但它使用Prototype Framework而不是 JQuery。

于 2011-03-24T22:52:33.900 回答