Показать сообщение отдельно
  #8 (permalink)  
Старый 02.07.2013, 12:52
Интересующийся
Отправить личное сообщение для kostant Посмотреть профиль Найти все сообщения от kostant
 
Регистрация: 26.06.2013
Сообщений: 11

Друзья, помогите пожалуйста! В общем пытаюсь запустить ф-цию предварительно (как написано в документации), но всё равно 2 действия запускаются одновременно:
<script type="text/javascript">
		$(document).ready(function() {
	
			$('.fancybox').fancybox({
	                                         'beforeShow': $(".productPriceWrapRight a img").bind('click',kos_fly), 
                                                 'href': '#inline1'
		                                });
                });
	</script>


'beforeShow': $(".productPriceWrapRight a img").bind('click',kos_fly), в этой строчке, я так понимаю, нельзя использовать метод bind и связывать событие click с моей функцией kos_fly. Мне то всего нужно передать этой ф-ции id селектора ".productPriceWrapRight a img" в момент клика. Вопрос 1: как в качестве параметра функции передать id в момент клика?

Ещё есть 2 вариант. Привожу код:
$(function (){
    $(".productPriceWrapRight a img")
            .bind('click',kos_fly)
            .bind('click',function(event) {
                //        Функция вызова модального окна
                $.fancybox( {'href': '#inline1', title : 'Текст посылаемый'} );
            });

});

Но всё-равно 2 этих навешенных действия выполняются одновременно, а не друг за другом. Вопрос 2: как задать последовательную очерёдность?


Код ф-ции kos_fly:
function kos_fly (event) {

    var productIDValSplitter 	= (this.id).split("_");
		var productIDVal 			= productIDValSplitter[1];
		
		var productX 		= $("#productImageWrapID_" + productIDVal).offset().left;
		var productY 		= $("#productImageWrapID_" + productIDVal).offset().top;
		
		if( $("#productID_" + productIDVal).length > 0){
			var basketX 		= $("#productID_" + productIDVal).offset().left;
			var basketY 		= $("#productID_" + productIDVal).offset().top;			
		} else {
			var basketX 		= $("#basketTitleWrap").offset().left;
			var basketY 		= $("#basketTitleWrap").offset().top;
		}
		
		var gotoX 			= basketX - productX;
		var gotoY 			= basketY - productY;
		
		var newImageWidth 	= $("#productImageWrapID_" + productIDVal).width() / 3;
		var newImageHeight	= $("#productImageWrapID_" + productIDVal).height() / 3;
		
		$("#productImageWrapID_" + productIDVal + " img")
		.clone()
		.prependTo("#productImageWrapID_" + productIDVal)
		.css({'position' : 'absolute'})
		.animate({opacity: 0.4}, 100 )
		.animate({opacity: 0.1, marginLeft: gotoX, marginTop: gotoY, width: newImageWidth, height: newImageHeight}, 1200, function() {
			$(this).remove();
	
			$("#notificationsLoader").html('<img src="http://www.cyberforum.ru/images/loader.gif">');
		
			$.ajax({  
				type: "POST",  
				url: "inc/functions.php",  
				data: { productID: productIDVal, action: "addToBasket"},  
				success: function(theResponse) {
					
					if( $("#productID_" + productIDVal).length > 0){
						$("#productID_" + productIDVal).animate({ opacity: 0 }, 500);
						$("#productID_" + productIDVal).before(theResponse).remove();
						$("#productID_" + productIDVal).animate({ opacity: 0 }, 500);
						$("#productID_" + productIDVal).animate({ opacity: 1 }, 500);
						$("#notificationsLoader").empty();
						
					} else {
						$("#basketItemsWrap li:first").before(theResponse);
						$("#basketItemsWrap li:first").hide();
						$("#basketItemsWrap li:first").show("slow");  
						$("#notificationsLoader").empty();			
					}
					
				}  
			});  
		
		});
    
}
Ответить с цитированием