2010-10-11 88 views
1

我正在使用jquery kwicks进行项目和文档准备我提供以下功能。jQuery kwicks更新参数或选项

的kwicks应在文件准备好功能做一个初始函数,它是我的whatToDo

var whatToDo = 'mouseover'; 

$('.kwicks').kwicks({ 
    min : 10, 
    max : 480, 
    duration: 800, 
    easing: 'easeOutQuint', 
    sticky : true, 
    defaultKwick : 3, 
    event : whatToDo, 
}); 

接下来就是我想要做的基本上是当用户点击和项目,例如某个divp到从'鼠标悬停'切换到'点击'

我试过以下,但似乎没有工作。

$('#video').click(function(){ 
    var whatToDo = 'click';  
}); 

有什么建议吗?

+0

你必须在初始化kwicks插件之前设置事件变量......所以你试图做的事情将无法工作。 – Mottie 2010-10-11 13:35:46

+0

好的,谢谢你的抬头。 – ApPeL 2010-10-11 13:36:41

回答

1

很抱歉,如果我的意见使它听起来像是这是不可能的......所有你需要做的是建立一个自定义事件(demo):

HTML

<ul class="kwicks horizontal" > 
    <li id="kwick_1"></li> 
    <li id="kwick_2"></li> 
    <li id="kwick_3"></li> 
    <li id="kwick_4"></li> 
</ul> 

<input id="clickIt" type="checkbox">Click 

脚本

$(document).ready(function() { 

    $('.kwicks li').bind('click mouseover', function(e){ 
     var clickit = $('#clickIt').is(':checked'); 
     if (clickit && e.type == "click" || !clickit && e.type == "mouseover") { 
     $(this).trigger('myCustomEvent'); 
     } 
    }) 

    $('.kwicks').kwicks({ 
     max : 220, 
     spacing : 5, 
     event: 'myCustomEvent' 
    }); 

    }); 

要回答您更新的需求,您需要有一个由jw设置的变量球员事件功能。我没有测试下面的代码,但它应该可以工作。如果有任何问题,那么可以尝试移动$(document).ready以外的变量jwplaying,使其成为全局变量。

$(document).ready(function() { 
var jwplaying = false; 

$('.kwicks li').bind('click mouseover', function(e){ 
    if (jwplaying && e.type == "click" || !jwplaying && e.type == "mouseover") { 
    $(this).trigger('myCustomEvent'); 
    } 
}) 

$('.kwicks').kwicks({ 
    max : 220, 
    spacing : 5, 
    event: 'myCustomEvent' 
}); 

jwplayer("player").setup({ 
    autostart: true, 
    flashplayer: "player.swf", 
    skin: 'five/glow.zip', 
    controlbar: "bottom", 
    dock: true, 
    events: { 
    onPlay : function() { 
    /// triggers to be click 
    jwplaying = true; 
    }, onPause : function() { 
    /// triggers to be mouseover 
    jwplaying = false; 
    }, onComplete: function() { 
    /// triggers to be mouseover 
    jwplaying = false; 
    jwplayer().stop(); 
    } 
    } 
}); 

}); 

在和顺便说一句,我说document$().ready里面,因为它是由not recommended jQuery开发团队使用该语法,它可能在未来的版本中被淘汰。

+0

如何将其从复选框移动到另一个功能,如onPlay功能? 。 jwplayer( “玩家”)设置({ \t \t自动启动:真实, \t \t版本的Adobe Flash: “player.swf”, \t \t皮肤: '十二五/ glow.zip', \t \t控制栏:“底部” \t \t码头:真实, \t \t事件:{ \t \t onPlay:函数(){ \t \t \t ///触发是点击 \t \t}, \t \t的onPause:函数(){ \t \t \t ///触发是鼠标悬停 \t \t}, \t \t的onComplete:函数(){ \t \t jwplayer()。停止(); \t \t} \t \t} \t}); – ApPeL 2010-10-14 10:17:40

+0

我已经更新了我的答案:P – Mottie 2010-10-14 12:01:21