Javascript-форум (https://javascript.ru/forum/)
-   jQuery (https://javascript.ru/forum/jquery/)
-   -   Ajax загрузка контента (не вопрос) (https://javascript.ru/forum/jquery/26970-ajax-zagruzka-kontenta-ne-vopros.html)

papochka 30.03.2012 22:31

Цитата:

Сообщение от T-sh (Сообщение 165755)
бывает, что на одной странице пять-шесть ajax подгрузок, и тогда синхронный запрос — вообще ни вариант :)

вот теперь я понимаю, что не видел прелестей в синхронном ))

papochka 30.03.2012 22:37

melky,
ваш скрипт у меня почему-то не заработал, но я, признаться попробовал из любопытства и впопыхах и мог чего-нить проглядеть... будет времечко свободно попробуйте сами компильнуть - для будущих поколений (а если работает - простите великодушно за занудство). Мне скорее всего действительно асинхронные пока что более близки, а вдруг кому синхронный понадобицца ;)

rustleofstars 02.04.2012 21:20

Здравствуйте. Буду очень признателен если автор топика или кто-нибудь подскажет почему у меня в функции success:function(b) не получается получить высоту загружаемого блока :
adpo(тчк)demo(тчк)biz(тчк)ua
<a class="loot" href="http://adpo.demo.biz.ua/testajax.html" rel="qwerty">testajax</a>

Пытаюсь вывести содержимое div#qwerty в div#mbox :
<div id="mask" class="window"><div id="mbox" class="window"></div></div>

Вот здесь adpo(тчк)demo(тчк)biz(тчк)ua/templates/adpo/js/jcore-main.js :
var maskHeight = $j(document).height();
        var maskWidth = $j(document).width();	
		$j('#mask').css({'width':maskWidth,'height':maskHeight});		
	

$j('.loot').live("click", function(){	
var loaderImg = "<div class=\"ajaxloader\"><img  src='http://adpo.demo.biz.ua/templates/adpo/img/ajax_loader2.gif' alt='загрузка...' /><br>&nbsp;&nbsp;&nbsp;<span class=\"ajaxloadertxt\">Загрузка...</span></div>"; // картинка до загрузки
var url = $j(this).attr("href"); // получаем значение атрибута href ссылки 
var rel = 'div#'+$j(this).attr("rel"); // получаем значение атрибута rel ссылки
 $j("div#mbox").delay(3000).html(loaderImg).html(function(){
 		var a=loaderImg;						
			$j.ajax({ // запрашиваем данные со страницы-донора
				url:url,
				dataType:"html",
				async:false,
				success:function(b){a=$j(b).find(rel);	
                    var swidth = screen.width;
					var sheight = screen.height;
					$j("#mbox").css({"display" : "block"});
                    $j("#qwerty").css({"display" : "block"});						
					var boxW = $j("#qwerty").width();
					var boxH = $j("#qwerty").height();
				    var winW = swidth/2-boxW/2;
					var winH = sheight/2-boxH/2;               	
					$j("#mask").delay(100).fadeIn(100);
					$j("#mbox").delay(100).fadeIn(500);
					$j("#mbox").css({"top" : winH});
					$j("#mbox").css({"left": winW});
					$j("#console").html("winW - "+winW+", winH - "+winH+", boxW - "+boxW+", boxH - "+boxH+", swidth - "+swidth+", sheight - "+sheight+" ");				
				},
              complete: function(msg) {
        
},		
				error:function(){alert("Ajax!Ошибка.")}
				});
				return a
 });
 return false;
 
});

atlantis 02.04.2012 21:30

Эмм... Я извиняюсь, но что это: $j.ajax ...
Символ "j" я что-то никогда не видел, чтобы так использовался. Оно вообще хоть работает? :)

rustleofstars 03.04.2012 09:42

Цитата:

Сообщение от atlantis (Сообщение 166597)
Эмм... Я извиняюсь, но что это: $j.ajax ...
Символ "j" я что-то никогда не видел, чтобы так использовался. Оно вообще хоть работает? :)

Там в adpo(тчк)demo(тчк)biz(тчк)ua/templates/adpo/js/jcore-main.js сверху
var $j = jQuery.noConflict();{

Все работает но эти переменные на выходе null :
var boxW = $j("#qwerty").width();
var boxH = $j("#qwerty").height();

Kolyaj 03.04.2012 09:44

Цитата:

Сообщение от rustleofstars
Там в adpo(тчк)demo(тчк)biz(тчк)ua/templates/adpo/js/jcore-main.js сверху

Да откуда хоть вы такие все приходите-то? Ссылку нормальную что мешает сделать? Это интернет, тут люди по ссылкам тыкают.

melky 03.04.2012 09:45

скрипт запускается после загрузки страницы ?

rustleofstars 03.04.2012 10:27

Цитата:

Сообщение от melky (Сообщение 166663)
скрипт запускается после загрузки страницы ?

сам скрипт http://adpo.demo.biz.ua/templates/adpo/js/jcore-main.js запускается в <head>, в нем все находится внутри $j(document).ready(function(){... Пробовал запускать скрипт в конце <body> и тоже boxW = null, boxH = null

rustleofstars 03.04.2012 11:02

Как я понял эти переменные
var boxW = $j("#qwerty").width();
var boxH = $j("#qwerty").height();

равны null потому что на странице, на которой выполняется скрипт нет
<div id="qwerty"></div>

Этот див берется из страницы источника из rel ссылки .loot. Если создать пустой <div id="qwerty"></div> на странице вызова скрипта то boxH = null а boxW равен ширине экрана. Неужеле нет возможности измерять ширину и высоту блока указанного в rel ссылки .loot как источник ?

1n3gan 10.04.2013 13:11

Спасибо за скрипт, все работает.
Только у меня вопрос. Каким образом можно добиться смены url в адресной строке браузера при переходе по ссылкам?


Часовой пояс GMT +3, время: 04:30.