Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #1 (permalink)  
Старый 30.06.2013, 00:15
Интересующийся
Отправить личное сообщение для MasterDmx Посмотреть профиль Найти все сообщения от MasterDmx
 
Регистрация: 16.02.2013
Сообщений: 21

Подрузка контента из нескольких файлов по клику.
Доброго времени суток.
Есть скрипт:
$(document).ready(function(){
    getLoad('/documentation.htm' , '#documentation');
    getLoad('/top_predlojeiy.htm' , '#top_predlojeiy');
    getLoad('/tpl/topmenu23.htm' , '#topmenu23');
    getLoad('/text_na_static.htm' , '#text_na_static');
});

function getLoad (urlLoad, container) {
$.ajax({
	url: urlLoad,
	cache: false,
	beforeSend: function() {
	$(container).html('');
	},
	success: function(html){
	$(container).html(html);
	}
});
}


Он динамически подгружает контент из файлов в определенные дивы. К примеру, в div id="documentation" будет подгружен контент из файла "documentation.htm" и так далее. Причем все это происходит при загрузке страницы.

Необходимо модернизировать скрипт таким образом, что бы скрипт подгружал контент в один див (Пусть это будет div id="centent") но с разных файлов и по клику по ссылке.

К примеру, есть вот такое меню:

<a href="#" id="documentation">Документация</a>
<a href="#" id="top_predlojeiy">Топ предложений</a>
<a href="#" id="topmenu23">Том меню</a>
<a href="#" id="text_na_static">Текст на статику</a>


У каждого пункта есть свой ID. При нажатии на ссылку "Документация" скрипт подружает контент в div id="content" из файла documentation.htm
И так далее.

Перерыл кучу сайтов и форумов, но безрезультатно. Очень надеюсь на вашу помощь. Заранее благодарен.
Ответить с цитированием
  #2 (permalink)  
Старый 30.06.2013, 00:41
без статуса
Отправить личное сообщение для Deff Посмотреть профиль Найти все сообщения от Deff
 
Регистрация: 25.05.2012
Сообщений: 8,219

<script type="text/javascript" src="http://yandex.st/jquery/1.7.2/jquery.min.js"></script>
<script>
  $(document).ready(function(){
    $(".link-load a").click(function () {
      $("#divLoad").load($(this)[0].href);
       return false;
    });
  });
</script>


<div id="divLoad"></div>

<div class="link-load">
 <pre>
 <a href="/documentation.htm">Документация</a>
 <a href="/top_predlojeiy.htm">Топ предложений</a>
 <a href="/topmenu23.htm">Том меню</a>
 <a href="/text_na_static">Текст на статику</a>
 </pre>
</div>

Последний раз редактировалось Deff, 30.06.2013 в 01:08.
Ответить с цитированием
  #3 (permalink)  
Старый 30.06.2013, 09:28
Интересующийся
Отправить личное сообщение для MasterDmx Посмотреть профиль Найти все сообщения от MasterDmx
 
Регистрация: 16.02.2013
Сообщений: 21

Спасибо! Все отлично работает! Очень благодарен.

Не подскажите еще как сделать так, что бы контент прогружался через определенное время, и пока он не прогружен выводился индикатор загрузки?

На скока я понимаю нужно использовать setTimeout, а вместо индикатора подойдет простое gif изображение.

Подскажите пожалуйста как это реализовать.
Ответить с цитированием
  #4 (permalink)  
Старый 01.07.2013, 10:21
Аспирант
Отправить личное сообщение для JustCrazy Посмотреть профиль Найти все сообщения от JustCrazy
 
Регистрация: 20.07.2012
Сообщений: 64

думается мне вот так:
<script type="text/javascript" src="http://yandex.st/jquery/1.7.2/jquery.min.js"></script>
<script>
  $(document).ready(function(){
    $(".link-load a").click(function () {
       $("#loader").html("<img src='...gif'>");
       setTimeout(function(){
         $("#loader").hide();
         $("#divLoad").load($(this)[0].href);
       },3000);
       return false;
    });
  });
</script>
 
<div id="loader"></div> 
<div id="divLoad"></div>
 
<div class="link-load">
 <pre>
 <a href="/documentation.htm">Документация</a>
 <a href="/top_predlojeiy.htm">Топ предложений</a>
 <a href="/topmenu23.htm">Том меню</a>
 <a href="/text_na_static">Текст на статику</a>
 </pre>
</div>

Последний раз редактировалось JustCrazy, 01.07.2013 в 10:24.
Ответить с цитированием
  #5 (permalink)  
Старый 01.07.2013, 10:44
Аватар для danik.js
Профессор
Отправить личное сообщение для danik.js Посмотреть профиль Найти все сообщения от danik.js
 
Регистрация: 11.09.2010
Сообщений: 8,804

Перед вызововом $().load показать прелоадер, а в функции, переданной вторым параметром в $().load скрыть его:
$("#loader").show();
$("#divLoad").load($(this)[0].href, function(){ $("loader").hide() });
Ответить с цитированием
Ответ



Опции темы Искать в теме
Искать в теме:

Расширенный поиск