fadeOut函数使整个页面内容消失

时间:2014-05-08 03:12:21

标签: javascript php jquery

基本上,我试图通知用户他们是否成功添加了他们的文件,并且通知在3秒后消失。问题是我整个页面淡出而不仅仅是通知。它与我的其他页面一起工作,只是想知道为什么它在这个上有所不同。会话变量是根据我检查的内容设置的。

以下是脚本的代码:

<script src="<?php echo base_url();?>js/jquery-1.11.0.min.js"></script>
    <script type = 'text/javascript'>
    $(function(){
        $('.success').fadeOut(3000);
        $('.failure').fadeOut(3000);
    });
    </script>

以下是该页面的代码:

    <?php
if(isset($_SESSION['success'])){
    echo "<div class = 'success'>".$_SESSION['success']."</div>";
    unset($_SESSION['success']);
}
else if(isset($_SESSION['fail'])){
    echo "<div class = 'failure'>".$_SESSION['fail']."/div";
    unset($_SESSION['fail']);
}
?>
<div>//some form code here</div>

2 个答案:

答案 0 :(得分:1)

我的猜测是,因为你错过了&#34;&lt;&#34;和&#34;&gt;&#34;关于div关闭:

echo "<div class = 'failure'>".$_SESSION['fail']."/div";

由于div没有关闭,页面的其余部分可能会被解释为其中的一部分。

看看是否有效:

echo "<div class = 'failure'>".$_SESSION['fail']."</div>";

答案 1 :(得分:1)

此行不正确:

echo "<div class = 'failure'>".$_SESSION['fail']."/div";

它不包含关闭div的结束括号。通过这种方式,vrowser不知道故障div已经关闭,因此它会认为其余的内容都在其中。要解决此问题,该行应为:

echo "<div class = 'failure'>".$_SESSION['fail']."</div>";