самый глупый вопрос

153
14 марта 2017, 15:29

Стыдно за вопрос, но как разделить две функции...

function show(){  
    $.ajax({  
        url: "functions/booking_response.php",  
        cache: false,  
        success: function(html){  
            $("#bti").html(html);  
        }  
    });  
}
$(document).ready(function(){  
    show();  
    setInterval('show()',2000);  
}); 
function show(){  
    $.ajax({  
        url: "../user/functions/notifications.php",  
        cache: false,  
        success: function(html){  
            $("#opoz").html(html);  
        }  
    });  
}
$(document).ready(function(){  
    show();  
    setInterval('show()',1000);  
});
Answer 1

Можно переименовать функции, либо ограничить области видимости обеих имеющимися функциями:

$(document).ready(function(){  
    show();  
    setInterval(show, 2000);  
    function show(){  
        $.ajax({  
            url: "functions/booking_response.php",  
            cache: false,  
            success: function(html){  
                if (html !== $("#bti").html()) // не меняем DOM без необходимости
                  $("#bti").html(html);  
            }  
        });  
    }
}); 
$(document).ready(function(){  
    show();  
    setInterval(show, 1000); 
    function show(){  
        $.ajax({  
            url: "../user/functions/notifications.php",  
            cache: false,  
            success: function(html){  
                if (html !== $("#opoz").html())
                  $("#opoz").html(html);  
            }  
        });  
    }        
});
Answer 2

У вас функция выполняет по сути отображение HTML кода в часть страницы по указанному URL. Зачем писать ее несколько раз? :) В самом простом варианте это можно реализовать вот так.

function show(url, selector){  
        $.ajax({  
            url: url,  
            cache: false,  
            success: function(html){  
                $(selector).html(html);  
            }  
        });  
}
function showBookingResponse() { 
     show('functions/booking_response.php', '#bti');
}
function showAjaxNotifications() { 
     show('../user/functions/notifications.php', '#opoz');
}
function setIntervalImmediately(func, interval) {
      func();
      return setInterval(func, interval);
}
$(document).ready(function(){  
    setIntervalImmediately(showBookingResponse,2000);
    setIntervalImmediately(showAjaxNotifications,1000);
});
READ ALSO
Вывод элементов после сортировки Redux

Вывод элементов после сортировки Redux

Есть вот такой смарт компонент

200
Как изменять цвет текста в зависимости от результатов AJAX

Как изменять цвет текста в зависимости от результатов AJAX

У меня есть стандартный AJAX (Без всяких JQuery)Функция, которая записывает полученный ответ в нужное мне поле выглядит так:

180
AngularJS + Turbolinks

AngularJS + Turbolinks

Приветик

175
Ссылки на аудио в VK

Ссылки на аудио в VK

Есть страница со списком аудиозаписей в ВКонтактеНапример, вот её кусочек: К сожалению, ВК с середины декабря закрыл доступ к работе с аудио,...

284