jQuery两个函数同时运行

时间:2012-01-10 00:25:31

标签: jquery function time

我有一个问题,我正在开发一个网站,它应该每隔x秒更新一个收件箱我用jquery(jquery.timers)做的代码,它生成的代码有一个按钮,按下它,应该给我看一个表(jquery.fancybox)。问题没有显示我的框,现在如果我删除计时器,如果我显示对话框。计时器工作或工作fancybox,但不是两个。我留下代码知道是否有错误:

$(document).ready(function(){
var j = jQuery.noConflict();
  j(document).ready(function()
  {
    j("#caja-scroll").everyTime(2000,function(i){
        j.ajax({
            url: "php/inbox.php", 
            cache: false,
            success: function(html){
                j("#caja-scroll").html(html);
            }
        })
    })
  }); 

    jQuery(".btnGestionar").click( function(){
    var currentId = $(this).attr('id');
$.ajax({
    type: "GET",
    url: "php/act_gestion.php?id="+currentId+"&accion=open",
    success: function(datos){
        if (datos == "ocupado"){
            $('#btnPopAlerta').fancybox({
                'transitionIn' : 'elastic',
                'transitionOut' :'elastic',
                'onClosed': function(){
                    location.href='index.php?go=2';
                }
            }).trigger('click');
        }else if (datos == "abierto"){
            $('#btnGestionarH').fancybox({
                'transitionIn' : 'elastic',
                'transitionOut' :'elastic',
                'onClosed':function(){
                    /* event */
                });
            }).trigger('click');
        }
    }
});
});
});

1 个答案:

答案 0 :(得分:2)

首先,您的代码在$(document).ready()调用中调用了$(document).ready()。

您还缺少至少两个;,看起来您可能在错误的地方有一些括号和/或括号。这个版本应该是您的代码,清理完毕:

var j = jQuery.noConflict();

j(document).ready(function() {
    j("#caja-scroll").everyTime(2000,function(i) {
        j.ajax({
            url: "php/inbox.php", 
            cache: false,
            success: function(html){
                j("#caja-scroll").html(html);
            }
        });
    });

    j(".btnGestionar").click( function() {
        var currentId = $(this).attr('id');
        j.ajax({
            type: "GET",
            url: "php/act_gestion.php?id="+currentId+"&accion=open",
            success: function(datos){
                if (datos == "ocupado"){
                    j('#btnPopAlerta').fancybox({
                        'transitionIn' : 'elastic',
                        'transitionOut' :'elastic',
                        'onClosed': function(){
                            location.href='index.php?go=2';
                        }
                    }).trigger('click');
                } else if (datos == "abierto") {
                    j('#btnGestionarH').fancybox({
                        'transitionIn' : 'elastic',
                        'transitionOut' :'elastic',
                        'onClosed': function(){
                            /* event */
                        }
                    }).trigger('click');
                }
            };
        });
    });
});

另请注意,由于您使用j作为变量来表示jQuery函数而不是$,因此我替换了jQuery()和{{1}的所有实例与$