Вдруг кому пригодится. Или кто предложит лучше...
Что предлагаю? Загрузку фрагмента страницы с помощью $.ajax - вместо load()
Подробнее Кликом на ссылку подгрузить в заранее оговоренный div контент любого div'a с другой страницы того же сайта.
Особенности CSS не предлагаю - на вкус и цвет. Ссылка, кликать на которую, должна быть в формате
<a class="loot" href="page.php" rel="victim"></a>
где
page.php - адрес страницы-"донора" (откуда будем выдергивать div), а
victim - ID нужного div'a (который конечно может быть любым - главное, чтобы вообще он был и чтобы он совпадал в атрибуте rel ссылки и в атрибуте id элемента-донора).
В примере фрагмент подгружается в div id="thief".
Кому нужен этот велосипед, вместо простого load()? Тем, кто столкнулся с проблемой конфликтов $.ajax и load - подробнее
здесь
Код скрипта:
$('.loot').live("click", function(){
var loaderImg = "<img src='loader.gif' alt='загрузка...' />"; // картинка до загрузки
var url = $(this).attr("href"); // получаем значение атрибута href ссылки
var rel = 'div#'+$(this).attr("rel"); // получаем значение атрибута rel ссылки
$("div#thief").html(loaderImg).html(function(){
var a=loaderImg;
$.ajax({ // запрашиваем данные со страницы-донора
url:url,
dataType:"html",
async:false,
success:function(b){a=$(b).find(rel)}, // извлекаем html из нужного элемента (в примере <div id="victim">)
error:function(){alert("Ajax!Ошибка.")}
});
return a
});
$("div#thief").fadeIn('fast'); // отображаем блок, если он был скрыт
return false;
});
Для желающих поворчать: не надо ворчать, лучше предлагайте
лучше.
Или оптимизируйте, - ибо я последнее время мало сплю (см.никнейм)
Тем, кому нужен метод load - см.
здесь (внизу первого поста).
Спасибо за внимание.