只显示div一次

Kar*_*rem 8 javascript jquery message

所以我想看看像stackoverflow一样的消息在顶部.

现在我已经配置了所有,但是我遇到了一个问题..消息只显示第一次,第二次没有显示.

我知道为什么,关于每个id的东西必须是唯一的或div中的东西..然后我使用rand(1, 300);(php)它仍然无法工作.

这是我的代码:

function checkSession(){
    $.ajax({url: "session.php", success: function(data){
         if( data == 1){
            var postFilen = 'msg.php';
            $.post(postFilen, function(data){
            $(".msg").html(data).find(".message2").fadeIn("slow")
            setTimeout(function(checkSession) {
    $('.msg').fadeOut('slow');
}, 10000);
            });  
         }else{ 
             $('.message2').hide();
         }
    }});
// setInterval('checkSession()',1000);
}
Run Code Online (Sandbox Code Playgroud)

index.php文件:

<div class="msg" id="msg" ></div>
Run Code Online (Sandbox Code Playgroud)

msg.php:

<div class="message2" id="message2" onclick="closeNotice2()" style="display: none">
Yo, <b><? echo $pusername; ?></b> - <? echo $_SESSION["user_message"]; ?> 
<a class="close-notify" onclick="closeNotice2()">X</a>
</div> 
Run Code Online (Sandbox Code Playgroud)

CloseNotice2() - (以防万一你想看到它):

function closeNotice2() {
    $(".message2").fadeOut("slow");
} 
Run Code Online (Sandbox Code Playgroud)

session.php文件:

if(isset($_SESSION['user_message'])) {
echo 1; 
}
Run Code Online (Sandbox Code Playgroud)

CSS:

.message2 {
  position: absolute;
  top: 0;
  left: 0;
  z-index: 105; /* Anything higher than 1 will do */
    background-color: #034678; 
    font-family: Arial,Helvetica,sans-serif;
    font-size: 100%;
    text-align: center;
    font-weight: bold;
    border-bottom: 2px solid #FFF;
  height: 26 px;
  width: 100%;
}
.message2 span {
    text-align: center;
    width: 95%;
    float:left;
}
Run Code Online (Sandbox Code Playgroud)

我认为就是这样.希望你能帮助我.

Kar*_*rem 0

最后我自己发现了错误,这是 checksession() 内部的 timeout() 函数;..现在它就像一个魅力:)

我只需要删除这个:

setTimeout(function() {
    $('.msg').fadeOut('slow');
        }, 5000);
Run Code Online (Sandbox Code Playgroud)

我不知道如何解决这个问题,但我会在另一个问题中提出,因为我现在找到了答案!但感谢心腹和艾伦花时间尝试回答我