Guest User

Untitled

a guest
Dec 15th, 2018
94
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 4.13 KB | None | 0 0
  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>
Add Comment
Please, Sign In to add comment