SHARE
TWEET

Untitled

a guest Dec 15th, 2018 69 Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
  1. <script type="text/javascript">
  2.  
  3. $(document).ready(function(){
  4.          
  5.           $("#pac_form").submit(Send); // вешаем на форму с именем и сообщением событие которое срабатывает кодга нажата кнопка "Отправить" или "Enter"
  6.           $("#pac_text").focus(); // по поле ввода сообщения ставим фокус
  7.           setInterval("Load();", 2000); // создаём таймер который будет вызывать загрузку сообщений каждые 2 секунды (2000 миллисекунд)
  8. });
  9.          
  10.  
  11. function Send() {
  12.     // Выполняем запрос к серверу с помощью jquery ajax: $.post(адрес, {параметры запроса}, функция которая вызывается по завершению запроса)
  13.     $.post("/modules/mix/pages/ajax.php",
  14.         {
  15.         act: "send",  // указываем скрипту, что мы отправляем новое сообщение и его нужно записать
  16.         name: "<?=$userid_mix?>", // имя пользователя
  17.         id_mix: "<?=$id_mix?>", // имя пользователя
  18.         text: $("#pac_text").val() //  сам текст сообщения
  19.     },
  20.      Load ); // по завершению отправки вызываем функцию загрузки новых сообщений Load()
  21.  
  22.     $("#pac_text").val(""); // очистим поле ввода сообщения
  23.     $("#pac_text").focus(); // и поставим на него фокус
  24.  
  25.     return false; // очень важно из Send() вернуть false. Если этого не сделать то произойдёт отправка нашей формы, те страница перезагрузится
  26. }
  27.  
  28. var last_message_id = 0; // номер последнего сообщения, что получил пользователь
  29. var load_in_process = false; // можем ли мы выполнять сейчас загрузку сообщений. Сначала стоит false, что значит - да, можем
  30.  
  31. // Функция для загрузки сообщений
  32. function Load() {
  33.     // Проверяем можем ли мы загружать сообщения. Это сделано для того, чтобы мы не начали загрузку заново, если старая загрузка ещё не закончилась.
  34.     if(!load_in_process)
  35.     {
  36.             load_in_process = true; // загрузка началась
  37.            
  38.             $.post("/modules/mix/pages/ajax.php",
  39.             {
  40.                   act: "load", // указываем на то что это загрузка сообщений
  41.                   last: last_message_id, // передаём номер последнего сообщения который получил пользователь в прошлую загрузку
  42.                   id_mix: <?=$id_mix?>,
  43.                   rand: (new Date()).getTime()
  44.             },
  45.                function (result) { // в эту функцию в качестве параметра передаётся javascript код, который мы должны выполнить
  46.                   var res = eval('(' + result+ ')'); // выполняем скрипт полученный от сервера
  47.                     alert(res);
  48.  
  49.  
  50.                    // $(".chat").scrollTop($(".chat").get(0).scrollHeight); // прокручиваем сообщения вниз
  51.                     load_in_process = false; // говорим что загрузка закончилась, можем теперь начать новую загрузку
  52.                });
  53.  
  54.     }
  55. }
  56.  
  57. </script>
  58.  
  59.  
  60. <div class="chat r4">
  61. <div id="chat_area"></div>
  62. </div>
  63.  
  64.  
  65. <form id="pac_form" action="">
  66. <div style='font-size: 10pt; color: white;'>Добавить сообщение:</div> <br>
  67. <textarea rows=3 id="pac_text" style="width: 40%;" class=inp></textarea>
  68. <input type="submit" value="Отправить">
  69. </form>
RAW Paste Data
We use cookies for various purposes including analytics. By continuing to use Pastebin, you agree to our use of cookies as described in the Cookies Policy. OK, I Understand
 
Top