在PHP代码之前执行jQuery代码和动画

时间:2013-03-18 19:54:20

标签: php jquery posting

您好我在我的网站上添加了一些动画,例如登录页面等

然而我首先发现动画执行但不执行PHP代码,当我得到PHP代码执行时,动画不起作用... PHP代码更重要但是看起来即使我使用form.submit( )在jquery中的函数PHP代码永远不会触发。我知道这一点,因为我尝试了替代方法,它没有jQuery。

我使用的是1.9.0,这里是jQuery代码

jQuery('#loginform button').click(function()
        {
            if(!jQuery.browser.msie) 
            {
                if(jQuery('#username').val() == '' || jQuery('#password').val() == '') 
                {
                    if(jQuery('#username').val() == '') jQuery('#username').addClass('error'); else jQuery('#username').removeClass('error');
                    if(jQuery('#password').val() == '') jQuery('#password').addClass('error'); else jQuery('#password').removeClass('error');
                    jQuery('.loginwrap').addClass('animate0 wobble').bind(anievent,function()
                    {
                        jQuery(this).removeClass('animate0 wobble');
                    });
                } 
                else 
                {
                    jQuery('.loginwrapper').addClass('animate0 fadeOut').bind(anievent,function()
                    {
                        $.post(username, {username});
                        $.post(password, {password});
                        jQuery('#loginform').submit();
                    });
                }
                return false;
            }
        });

正如你所看到的,最初我得到的代码是从jquery发布的,但无论我尝试什么,动画都不会运行。

任何人都可以告诉我为什么......或者我应该以什么方式让动画发生在PHP ???

1 个答案:

答案 0 :(得分:0)

您是否已将上述JS包装,以便在文档加载完成之后等待执行?如果你不这样做,可能会发生的是javascript试图对尚未渲染的元素进行操作。因此,当尝试绑定到该元素时,#loginform button可能尚不存在。

将你的JS包裹在其中:

jQuery(function(){
    // All JS that executes on load here.
});