2010-10-11 34 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