PHP / Jquery - 在PHP函数中回显jquery

时间:2015-02-22 18:59:38

标签: javascript php jquery

我有以下功能:

function loader($time,$page){
    echo "<script type='text/javascript'>
    $( document ).ready(function() {
            $('.register-container').hide();
            $('.top-color').animate({height:'100%'}, 500);
                window.setTimeout(  
                    function() {  
                         $('.loading-overlay').show();
                    },  
                    600
                );
                //Simulate loading... and then redirect.
                window.setTimeout(  
                    function() {  
                         $('.loading-overlay').hide();
                         $('.top-color').animate({height:'0px'}, 500);
                    },  
                    2600
                );




        }); 

    </script>";
    echo '<div class="loading-overlay" >
                      <div class="loading-circles">
                        <!-- MAINTAINS CONSISTANT COLOR CENTER -->
                        <div class="circle hold" ></div>
                        <!-- ITERATION POINT FOR ANIMATION -->
                        <div class="circle first"></div>
                        <div class="circle"></div>
                        <div class="circle"></div>
                      </div>
                      <!-- ICON -->
                      <div class="name"><img src="images/loader/loadertext-green.png" /></div>
           </div>';
    echo "<meta http-equiv=refresh content=$time;URL='$page'>";
}

哪个应该将上述jQuery代码添加到页面中,然后执行它。

现在我的问题是,当在页面中调用函数时,如下所示:

<?php
if($checksuccess){ loader("4","/account"); }
?>

我收到以下jQuery错误:

Uncaught ReferenceError: $ is not defined

我做错了什么?

2 个答案:

答案 0 :(得分:2)

Php期待$符号后面的变量名,因为你使用的是双引号。

尝试在echo中使用双引号更改单引号,并使用单引号将其括起来。与你相反。

答案 1 :(得分:0)

您的第二个echo块以单引号开头和结尾,应该是双引号。此外,echo内部的字符串必须转义双引号。你通常可以在html中使用单引号,但最好不要使用双引号。

echo "<div class=\"loading-overlay\" > <div class=\"loading-circles\"> Use escape \" on html attributes when echoing from PHP </div></div>";