Jquery 有人能帮我找到一种方法来阻止我的.trigger(';click';)持续触发fancybox事件吗
当你点击时,我需要它翻转,然后延迟,然后用fancybox弹出。我能想出的唯一办法是在延迟后启动fancybox,那就是使用延迟插件和.trigger('click')在延迟后启动它。问题是它不断地反复触发.trigger('click'),如果没有.off(),我想不出阻止它的方法,因为它会杀死其他所有东西。我真的很想得到一些建议Jquery 有人能帮我找到一种方法来阻止我的.trigger(';click';)持续触发fancybox事件吗,jquery,fancybox,flip,delay,Jquery,Fancybox,Flip,Delay,当你点击时,我需要它翻转,然后延迟,然后用fancybox弹出。我能想出的唯一办法是在延迟后启动fancybox,那就是使用延迟插件和.trigger('click')在延迟后启动它。问题是它不断地反复触发.trigger('click'),如果没有.off(),我想不出阻止它的方法,因为它会杀死其他所有东西。我真的很想得到一些建议 jQuery.noConflict(); //第一个主页弹出框 jQuery(文档).ready(函数(){ jQuery(“#卡处理链接”).live('cl
jQuery.noConflict();
//第一个主页弹出框
jQuery(文档).ready(函数(){
jQuery(“#卡处理链接”).live('click',function(){
jQuery(“#卡处理框”).flip({
“方向”:“lr”,
速度:“300”
});
});
//Fancybox弹出事件
jQuery(“#卡处理链接”)。延迟('click',400,function(){
jQuery(this).trigger('click').fancybox({
“onStart”:函数(){
jQuery(“#卡处理框”).hide();
jQuery(“#卡片处理弹出窗口”).show();
},
“transitionIn”:“弹性”,
“transitionOut”:“fadeOut”,
“speedIn”:300,
“加速输出”:500,
“宽度”:“420”,
“高度”:“自动”,
“滚动”:“否”,
'centerOnScroll':'true',
“覆盖颜色”:“透明”,
“onClosed”:函数(){
jQuery(“#卡片处理弹出窗口”).hide();
jQuery(“#卡处理框”).fadeIn();
}
});
});
});
为什么如果您已经单击了,是否要触发“单击事件”a
jQuery(this).fancybox({
应该足够了
否则,您将进入一个无限循环,该循环将不断触发click事件
您可以使用setTimeout
将执行延迟到稍后的时间
jQuery.noConflict();
// First Home Page Popout Box
jQuery(document).ready(function () {
jQuery('#card-processing-link').live('click', function () {
jQuery('#card-processing-box').flip({
'direction': 'lr',
speed: '300'
});
var $this = jQuery(this);
setTimeout(function () {
$this.fancybox({
'onStart': function () {
jQuery('#card-processing-box').hide();
jQuery('#card-processing-popout').show();
},
'transitionIn': 'elastic',
'transitionOut': 'fadeOut',
'speedIn': 300,
'speedOut': 500,
'width': '420',
'height': 'auto',
'scrolling': 'no',
'centerOnScroll': 'true',
'overlayColor': 'transparent',
'onClosed': function () {
jQuery('#card-processing-popout').hide();
jQuery('#card-processing-box').fadeIn();
}
});
}, 400);
});
});
我已经尝试过做同样的事情,但是没有.trigger().fancybox无法启动。为什么
fancybox
需要触发器我只是尝试了setTimeout建议,它的作用与使用.delayed而没有.trigger('click')一样。由于某些原因,.fancybox不会启动。如果您卸下翻盖并在单击时初始化fancybox,它会起作用吗?不幸的是,不。刚刚尝试过。-1:您已经在这里问过这个问题……如果没有回答,可能您需要更具体一些,但再次问相同的问题(不鼓励这样做)但这并不意味着你会更快地得到帮助
jQuery.noConflict();
// First Home Page Popout Box
jQuery(document).ready(function () {
jQuery('#card-processing-link').live('click', function () {
jQuery('#card-processing-box').flip({
'direction': 'lr',
speed: '300'
});
var $this = jQuery(this);
setTimeout(function () {
$this.fancybox({
'onStart': function () {
jQuery('#card-processing-box').hide();
jQuery('#card-processing-popout').show();
},
'transitionIn': 'elastic',
'transitionOut': 'fadeOut',
'speedIn': 300,
'speedOut': 500,
'width': '420',
'height': 'auto',
'scrolling': 'no',
'centerOnScroll': 'true',
'overlayColor': 'transparent',
'onClosed': function () {
jQuery('#card-processing-popout').hide();
jQuery('#card-processing-box').fadeIn();
}
});
}, 400);
});
});