onBeforeSeek和onSeek使用jQuery Scrollable切换子div?

时间:2010-04-11 16:16:47

标签: jquery flowplayer jquery-scrollable

我正在使用jQuery Tools Scrollable滚动一些包含一些YouTube剪辑的面板。我希望在过渡期间隐藏它们,以避免生涩的动画。

标记:

<div id="panel_items">
    <div id="wrap">
        <div class="event">
            <div class="header">Event 1</div><!-- Header is always displayed -->
            <div class="youtube">youtube clips</div><!-- hide during transition, then show -->
        </div>
        <div class="event">
            <div class="header">Event 2</div>
            <div class="youtube" style="display: none">More youtube clips</div>
        </div>
    </div>
</div>

当前的JS:

$("#panel_items").scrollable({
  onBeforeSeek: function() { console.log("hide .child .youtube"); }, 
  onSeek: function() { console.log("Show child .youtube"); }        
});

额外问题:如何自动设置#panel_items的高度以匹配当前面板高度(.event)?

3 个答案:

答案 0 :(得分:1)

这样的事可能有用(未经测试):

$("#panel_items").scrollable({
   onBeforeSeek: function() { this.getItems().css({'visibility': 'hidden'}); }, 
   onSeek: function() { this.getItems().css({'visibility': 'visible'});}
});  

答案 1 :(得分:1)

你尝试过这样的吗? :

var api = jQuery("#panel_items").data("scrollable");

api.onBeforeSeek(function() {

    jQuery(". youtube").fadeOut(100);

});

答案 2 :(得分:0)

fadein和fadeout抛出了计数。经过一些测试,这有效:

onBeforeSeek: function (e,i) {
    $(".items").animate({opacity:0},400);
},
onSeek: function (e,i) {
    $(".items").animate({opacity:1},400);
}