выполнять функции по очереди
только начал изучать jQuery, извиняюсь, если неправильно или непонятно назвал тему.
сделал такой скрипт аяксовой загрузки $(document).ready(function(){ $('.artmenu').find('a').click(function(){ $.ajax({ beforeSend: function(){ $('.article').slideUp("slow") }, complete: function(){ $('.article').slideDown("slow"); }, url: '/content.php', type: "POST", data: ({hui : this.href.split(location.hostname+'/#')}), success:function(msg){ $('.article').html(msg); } }); }) }); проблема в том, что данные загружаются, когда див ещё не до конца свернулся. как сделать, чтоб див сначала свернулся, потом в него загрузились данные, а потом красиво развернулся? |
slideDown в success
|
Цитата:
|
Ну тогда аякс в колбэк slideUp, slideDown в success.
$(elem).slideUp('normal', function () { $.ajax(…); }); |
Цитата:
а разворачиваться начиналось, после закачивания slideUp или после 600мс? |
Цитата:
вы меня простите, я новичок в программировании, только в школе кубасик изучал ^_^ $(document).ready(function(){ $('.artmenu').find('a').click(function(){ $('.article').slideUp("slow", function(){ $.ajax({ url: 'content.php', type: "POST", data: ({hui : this.href.split(location.hostname+'/#')}), success:function(msg){ $('.article').html(msg); $('.article').slideDown("slow"); } }); }); }) }); как в этом случае передать переменную this.href во вложенную функцию? |
$(document).ready(function(){ $('.artmenu').find('a').click(function(){ var obj = this; $('.article').slideUp("slow", function(){ $.ajax({ url: 'content.php', type: "POST", data: ({hui : obj.href.split(location.hostname+'/#')}), success:function(msg){ $('.article').html(msg); $('.article').slideDown("slow"); } }); }); }) }); |
вот спасибо огромное, сейчас всё так красиво получается (;
|
Часовой пояс GMT +3, время: 01:29. |