我正在使用jquery kwicks进行项目和文档就绪我提供了以下功能。
kwicks应该对文档就绪函数做什么的初始函数,即whatToDo
var whatToDo = 'mouseover';
$('.kwicks').kwicks({
min : 10,
max : 480,
duration: 800,
easing: 'easeOutQuint',
sticky : true,
defaultKwick : 3,
event : whatToDo,
});
接下来我想要做的事情基本上是当用户点击某个div
或p
项目以从'鼠标悬停'切换为'点击'时
我尝试了以下但似乎没有用。
$('#video').click(function(){
var whatToDo = 'click';
});
有什么建议吗?
答案 0 :(得分: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'
});
});
要回答您的更新需求,您需要拥有一个由jwplayer事件函数设置的变量。我没有测试下面的代码,但它应该工作。如果它有任何问题,那么可以尝试将jwplaying
变量移到$(document).ready
之外,使其成为全局变量。
$(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();
}
}
});
});
On和btw,我在document
内添加$().ready
,因为jQuery团队not recommended使用该语法,并且可能会在将来的版本中逐步淘汰。