Переход jQuery .load и sorttable.js
У меня есть JQuery:
$("#loadBtn").click(function(){
$('#div1').delay(200).slideUp('slow')
.load
('page2.php #div2').hide().delay(300).slideDown('slow');
return false;
});
Когда нажимается #loadBtn (находится в моем #leftColumn), он отлично заменяет #div1 на #div2. У меня есть две проблемы с этим кодом, однако..
1) Решено GINCHER ---- Я не могу заставить функцию скользить вверх #div1. он всегда просто мгновенно исчезает и сползает вниз #div2.
Если я использую jQuery:
$("#loadBtn").click(function(){
$('#div1').delay(200).slideUp('slow')
});
этот код будет скользить #div1 безупречно, однако, как только я добавлю .load('page2.php #div2')
он ломается и исчезает перед тем, как скатиться вниз.
2) решено GINCHER ---- я не могу получить таблицы в #div2 для сортировки с помощью sorttable.js
Я понимаю, что скрипты, запускаемые на page1.php при загрузке, не могут быть применены к элементам, загружаемым через AJAX.
Я попытался вызвать новую таблицу после завершения функции загрузки,
$('#div1').load('page2.php #div2', function() {
var newTable = document.getElementById('#tableId');
sorttable.makeSortable(newTable);
});
Но это не работает. Чтобы посмотреть, что произойдет, я вставил весь контент sorttable.js в
$('#div1').load('page2.php #div2', function() { /*sorttable.js content*/}
Это заставило таблицу работать должным образом, потому что функция была запущена после загрузки содержимого. что я делаю не так с этим?
1 ответ
$('#div1').delay(200).slideUp('slow', function(){ $(this).load('page2.php #div2').hide().delay(300).slideDown('slow'); });
Сделайте функцию загрузки после того, как слайд вверх завершен.var newTable = document.getElementById('tableId');
- не добавляйте хэштег вgetElementById
,