2017-07-14 65 views
0

沒有兩個人,如Facebook之間的頁面刷新的溝通,如何在我下面的腳本添加一個setTimeout函數,下面我的代碼註釋有隻聊天消息從數據庫中獲取如何添加setTimeout函數?

聊天窗口

<div class="row msg_container base_sent"> 
    <div class="col-md-1"> 
     <?php if (empty($roww->customer_image[0]) || empty($roww->supplier_image)) { ?> 
      <img src="<?php echo base_url(); ?>images/default.jpg" class="img-circle" width="30px" height="30px"/> 
     <?php } else { ?> 
      <img src="<?php echo 'data:image;base64,' . $roww->supplier_image; ?>" class="img-circle" width="30px" height="30px"/> 
     <?php } ?> 
    </div> 
    <div class="col-md-11 col-xs-11"> 
     <div class="messages msg_sent"> 

      <p> 
       <!--In this p tag i want to set a set timeout function how to call in ajax success without page reload--> 
       <a href="#" data-toggle="tooltip" data-placement="right" title="12am"><?php echo $row->message; ?> </a> 
      </p> 
     </div> 
    </div> 
</div> 

腳本

<script> 
      $(document).ready(function() { 

       $('#data_form').on('submit', function (e) { 

        var form_data = $(this).serialize(); 

        $.ajax({ 
         type: "POST", 
         url: '<?php echo base_url(); ?>index.php/Profile_cntrl/buyer_communication', 
         data: form_data, 
         success: function (data) 
         { 
          scrollDown(); 
          var message = $("#messagee").val(); 


          $('#chat_log').append('<div class="row msg_container base_receive"><div class="col-md-12 col-xs-12"><div class="messages msg_receive"><p><a>' + message + '</a></p></div></div></div>'); 

          $('#messagee').val(''); 


         }, 
         error: function() 
         { 
          alert('failed'); 
         } 
        }); 

        e.preventDefault(); 
       }); 
       scrollDown(); 
       function scrollDown() { 
        $('.msg_container_base').animate({scrollTop: $('.msg_container_base').prop("scrollHeight")}, 200); 
       } 
      }); 
     </script> 

回答

0

setTimeout的語法如下:

var timeoutID = window.setTimeout(func, [delay, param1, param2, ...]); 
var timeoutID = window.setTimeout(code, [delay]); 

其中

  1. timeoutID是一個數字ID,其可以結合使用與 clearTimeout()來取消計時器。
  2. func是要執行的功能。
  3. code(在備用語法中)是要執行的代碼字符串。
  4. delay是函數調用應該延遲的毫秒數。如果省略,則默認爲0.

示例: setTimeout接受對作爲第一個參數的函數的引用。

這可能是一個函數的名稱:

function explode(){ 
    alert("Boom!"); 
} 
setTimeout(explode, 2000); 

是指對函數的變量:

var explode = function(){ 
    alert("Boom!"); 
}; 
setTimeout(explode, 2000); 

或匿名函數:

setTimeout(function(){ 
    alert("Boom!"); 
}, 2000); 

而且作爲第二個選項,您也可以使用delay()

下面是輔助鏈接:delay 示例:

$el.delay(5000).fadeOut('fast');