У меня на странице много функций (php) при работе странички выполении запроса аофксом берутся данные из какой либо функции. Но у меня возникла проблема что при обновлении стриницы выполняется первая функция ( та что по умолчанию ). А мне нужно чтобы последняя . подскажите может у кого есть какие идеи ?
Ну и запоминайте ее (например, в сессию). И вызывайте ее. Кстати, подумайте, может проблема вызвана плохим проектированием?
Расписывать не стал, вырвал целиком свою реализацию: [js]var documentAnchor = (location.hash) ? location.hash.substr(1, location.hash.length - 1) : "index"; var handlers = new Object(); $(document).ready(function() { $.fx.speeds._default = 1000; // Обработчик для ссылок $("a").click(function() { var href = $(this).attr("href"); if(href.substr(0, 1) == "#") { documentAnchor = href.substr(1, href.length - 1); if(typeof(handlers[documentAnchor]) != "undefined") { $("#contents").fadeOut('slow', function() { $(this).html('Palun, oota ...<br /><br /><img src="/admin/img/loading.gif" />').fadeIn('slow', function() { handlers[documentAnchor](); }); }); } } }); // Инициализируем страницу по якорю if(typeof(handlers[documentAnchor]) != "undefined") { handlers[documentAnchor](); } else handlers.index(); }); /** * Обработчик для главной страницы админки */ handlers.index = function() { // Инициализируем диалог $("#notify").dialog({ autoOpen : false, show : 'fade', hide : 'fade' }); // Инициализируем кнопку $("#salvesta").button({ icons : { primary : 'ui-icon-disk' } }).click(function() { $("#notify").dialog('open').delay(800).dialog('close'); }); }; /** * Обработчик для страницы новостей */ handlers.news = function() { $.post("/admin/index.php", "module=news&action=read", function(data) { $("#contents").fadeOut('slow', function() { $(this).html(data).fadeIn('slow'); // Стилизуем кнопки $('.remove').button({ icons : { primary : 'ui-icon-close' } }); $('.edit').button({ icons : { primary : 'ui-icon-pencil' } }); }); }); }[/js] Разбирайся сам, там всё есть. Вариант рабочий.
Если подчистить и оставить только инициализацию: [js]var documentAnchor = (location.hash) ? location.hash.substr(1, location.hash.length - 1) : "index"; var handlers = new Object(); $(document).ready(function() { // Инициализируем страницу по якорю if(typeof(handlers[documentAnchor]) != "undefined") { handlers[documentAnchor](); } else handlers.index(); }); /** * Обработчик для главной страницы админки */ handlers.index = function() { alert('Default page'); }; /** * Обработчик для страницы новостей */ handlers.news = function() { alert('News page'); }[/js] И соответственно якорь на странице: url/#news