Показать сообщение отдельно
  #1 (permalink)  
Старый 29.03.2012, 01:55
Аватар для papochka
Интересующийся
Отправить личное сообщение для papochka Посмотреть профиль Найти все сообщения от papochka
 
Регистрация: 29.03.2012
Сообщений: 10

.ajax и load() - конфликт... или я дурак?
Не ругайтесь граждане на недоучку, просто помогите штоле ))
Есть заимствованная корзинка на аяксе - называется jcart. Соответственно подгружается корзинка в div#cart. Код ниже (сорри за целиком).
И есть загрузка фрагмента страницы методом load() - по клику на a.topen в div#tbox. Код еще ниже.

Отдельно все работает. А вот вместе... при клике на a.topen
- в div#tbox попадает нужный контент (со страницы page.php)
- а в div#cart - ВСЯ страница page.php.

Устал искать решение в темной комнате.
Джон! Ай ниид хэлп!

Код корзинки
$(function() {
	var a=(function(){

		var k="http://kremlin.ru/cart",
			b=$("#card"),
			e=$("[name=jcartToken]").val(),
			i=$("#jcart-tooltip");
			
		var d=(function(){
			var l=null;
			$.ajax({
				url:k+"/config.php",
				data:{ajax:"true"},
				dataType:"json",
				async:false,
				success:function(m){l=m},
				error:function(){alert("Ajax!Ошибка: Измените путь в файле cart.js.")}
				});
				return l
		}());
		
		var f=(function(){
			if(d.tooltip===true){
				i.text(d.text.itemAdded);
				$(".jcart [type=submit]").mouseenter(function(m){
					var l=m.pageY+25,n=m.pageX+-10;
					$("body").append(i);
					i.css({top:n+"px",left:l+"px"})
				}).mousemove(function(m){
					var n=m.pageY+25,l=m.pageX+-10;
					i.css({top:n+"px",left:l+"px"})
				}).mouseleave(function(){i.hide()})
			}
			$("#jcart-buttons").remove();
			$.ajaxSetup({
				type:"POST",
				url:k+"/relay.php",
				success:function(l){b.html(l);$("#jcart-buttons").remove()},
				error:function(n,p){
						var o=n.status,l="Ajax!Ошибка: ";
						if(o===0){l+="Проверьте интернет-соединение."}
						if(o===404||o===500){l+=o}
						if(p==="parsererror"||p==="timeout"){l+=p}
						alert(l)
						}
				})
		}());
		
		var c=$("#jcart-is-checkout").val();
		
		function j(n){
			var m=n.find("[name="+d.item.qty+"]"),l=n.find("[name="+d.item.add+"]");
			$.ajax({
				data:n.serialize()+"&"+d.item.add+"="+l.val(),
				success:function(o){
						if(m.val()>0&&i.css("display")==="none"){i.fadeIn("100").delay("400").fadeOut("100")}
						b.html(o);
						$("#jcart-buttons").remove()
						}
			})
		}
		
		function g(l){
			var o=l.parent().find('[name="jcartItemId[]"]').val();
			var n=l.val();
			if(n){var m=window.setTimeout(function(){
											$.ajax({ data:{jcartUpdate:1,itemId:o,itemQty:n,jcartIsCheckout:c,jcartToken:e} })
										  },1000)
			}
			l.keydown(function(p){if(p.which!==9){window.clearTimeout(m)}})
		}
		
		function h(m){
			var n=m.attr("href");
			n=n.split("=");
			var l=n[1];
			$.ajax({
					type:"GET",
					data:{jcartRemove:l,jcartIsCheckout:c}
			})
		}
		$(".jcart").submit(function(l){j($(this));l.preventDefault()});
		b.keydown(function(l){if(l.which===13){l.preventDefault()}});
		b.delegate('[name="jcartItemQty[]"]',"keyup",function(){g($(this))});
		b.delegate(".jcart-remove","click",function(l){h($(this));l.preventDefault()})
	}())
});


Код загрузки фрагмента
$(function(){
$('.topen').live("click", function(){
 var url = $(this).attr("href")+' #'+$(this).attr("rel");  // ссылка на page.php#fragment
 var loaderImg = "<img src='loader.gif' />";
 $("div#tbox").html(loaderImg).load(url);
 return false;
});
});
Ответить с цитированием