Помогите пожалуйста! не меняется цена при изменении модификации и количества товара! Заранее благодарю!
0
Не Меняется Цена При Изменении Модификации И Количества Товара
Автор Juliannika, 11 нояб. 2014 15:19
цена модификации
Сообщений в теме: 3
#1
Отправлено 11 Ноябрь 2014 - 15:19
#3
Отправлено 12 Ноябрь 2014 - 23:24
пыталась частично по этой но у меня не вышло - http://forum.storela...ий-модификации/
и еще у меня шаблон вечность( я немного ошиблась ) помогите пожалуйста разобраться..
и еще у меня шаблон вечность( я немного ошиблась ) помогите пожалуйста разобраться..
$(function() { var wi = $(window).width(); if(wi < 768) { if ($(".filter").length < 2) { $(".filters").css({"float" : "none", "clear" : "both"}); $(".filter").css({"margin" : "0 auto", "width" : "215px", "display" : " block", "padding" : "15px 0 0"}); } } $(window).resize(function() { var w = $(window).width(); if(w < 768) { if ($(".filter").length < 2) { $(".filters").css({"float" : "none", "clear" : "both"}); $(".filter").css({"margin" : "0 auto", "width" : "215px", "display" : " block", "padding" : "15px 0 0"}); } } else { $(".filters").removeAttr('style'); } }); }); //Увеличение изображения товара $(document).ready(function() { $("a[rel=group]").fancybox({ 'transitionIn' : 'none', 'transitionOut' : 'none', 'titlePosition' : 'over', 'titleFormat' : function(title, currentArray, currentIndex, currentOpts) { return '<span id="fancybox-title-over">Image ' + (currentIndex + 1) + ' / ' + currentArray.length + (title.length ? ' ' + title : '') + '</span>'; } }); }); $(function(){ var $container2 = $('.containers2'); // Минимальное расстояние между товарами в каталоге $container2.imagesLoaded(function(){ $container2.masonry({ itemSelector: '.items', // указываем класс элемента являющегося блоком в нашей сетке singleMode: false, // true - если у вас все блоки одинаковой ширины isResizable: true, // перестраивает блоки при изменении размеров окна isAnimated: true, // Ужиматься до минимальной ширины, чтобы можно было центрировать блок isFitWidth: true, // анимируем перестроение блоков animationOptions: { queue: false, duration: 500 } // опции анимации - очередь и продолжительность анимации }); }); }); $(function(){ var $container3 = $('.containers3') ,lastPage3 = 1 // Количество страниц ,pagesNum3 = $("div.pagination").find("a:last").text(); $container3.infinitescroll({ navSelector : '.pagination', // класс элемента постраничной навигации nextSelector : '.pagination a', // класс элемента постраничной навигации, ссылка на следующую страницу itemSelector : '.items', // класс элементов, которые будем извлекать loading: { msgText: 'Пожалуйста подождите...', finishedMsg: 'Больше нет товаров.', img: infiniteScrollLoaderPath ? infiniteScrollLoaderPath : '/loader.gif' } }, function( newElements3 ) { // скрываем новые элементы, пока они не загрузятся var $newElems3 = $( newElements3 ).css({ opacity: 0 }); // обеспечиваем загрузку изображением перед добавление из на страницу $newElems3.imagesLoaded(function(){ // показываем готовые элементы $newElems3.animate({ opacity: 1 }); $container3.masonry( 'appended', $newElems3, true ); }); lastPage3++; // если это последняя страница if(lastPage3 >= pagesNum3){ $container3.infinitescroll('pause'); } } ); }); //Кнопка "ВВЕРХ" $(function() { $.fn.scrollToTop = function() { $(this).hide().removeAttr("href"); if ($(window).scrollTop() >= "250") $(this).fadeIn("slow") var scrollDiv = $(this); $(window).scroll(function() { if ($(window).scrollTop() <= "250") $(scrollDiv).fadeOut("slow") else $(scrollDiv).fadeIn("slow") }); $(this).click(function() { $("html, body").animate({scrollTop: 0}, "slow") }) } }); $(function() { $("#Go_Top").scrollToTop(); }); //Верхнее меню $(function() { var pull = $('#pull'); menu = $('.head ul'); menuHeight = menu.height(); $(pull).on('click', function(e) { e.preventDefault(); menu.slideToggle(); }); $(window).resize(function(){ var w = $(window).width(); if(w > 620 && menu.is(':hidden')) { menu.removeAttr('style'); } }); }); //Меню Каталог $(function() { var ww = document.body.clientWidth; $(document).ready(function() { $(".conta > ul").addClass("nav"); $(".nav li a").each(function() { if ($(this).next().length > 0) { $(this).addClass("parent"); }; }) $(".toggleMenu").click(function(e) { e.preventDefault(); $(this).toggleClass("active"); $(".nav").toggle(); }); adjustMenu(); }) $(window).bind('resize orientationchange', function() { ww = document.body.clientWidth; adjustMenu(); }); var adjustMenu = function() { if (ww < 768) { $(".toggleMenu").css("display", "block"); if (!$(".toggleMenu").hasClass("active")) { $(".nav").hide(); } else { $(".nav").show(); } $(".nav li").unbind('mouseenter mouseleave'); $(".nav li span.icons").unbind('click').bind('click', function(e) { // Необходимоо привязать к элементу ссылки для предотвращения "всплывания" e.preventDefault(); $(this).parent("li").toggleClass("hover"); }); } else if (ww >= 768) { $(".toggleMenu").css("display", "none"); $(".nav").show(); $(".nav li").removeClass("hover"); $(".nav li a").unbind('click'); $(".nav li").hover( function () { $(this).addClass("hover"); }, function () { $(this).removeClass("hover"); } ); } } }); // Инициализация табов на странице товара function initTabs() { // Блок в котором находятся табы var tabBlock = $('.tabbed_area'); if(!tabBlock.length) { return false; } // По умолчанию делаем отметку о том что активного таба не найдено var isFind = 0; tabBlock.find('.tabs li > a').each(function(i){ // Если нашёлся активный там if($(this).hasClass('active')) { // Инициализируем найденный таб $(this).click(); // Ставим отметку, о том что не нужно инициализировать первый таб на странице isFind = 1; } }); // Если не найдено ни одного таба с отметкой о том что он активен if(!isFind) { // Ставим активным первый таб на странице. tabSwitch(1); } // Проверяет хэш и если по нему была открыта вкладка, то эта функция автоматически откроет её. checkTabHash(); // Биндим изменение хэша - проверка какой FAQ вопрос нужно открыть. $(window).bind('hashchange', function() { checkTabHash(); }); } // Проверяет хэш, переданый пользователем и открывает соответствующий раздел function checkTabHash() { // Определяем текущий хэш страницы var hash = window.location.hash.substr(1); if(hash == 'goodsDataOpinionAdd') { // $('#goodsDataOpinionAddBlock').show('blind'); return false; } if(!hash.length || hash.indexOf('show_tab_') == -1) { return false; } // Открываем тот таб, который был указан в hash-е tabSwitch(hash.replace("show_tab_", '')) } // Выбор вкладки на странице товара function tabSwitch(nb) { var tabBlock = $('.tabbed_area'); tabBlock.find('.tabs li > a').removeClass('active'); tabBlock.find('div.content').hide(); $('#tab_' + nb).addClass('active'); $('#content_' + nb).show(); // Записываем в хэш информацию о том какой таб сейчас открыт, для возможности скопировать и передать ссылку с открытым нужным табом document.location.hash = "#show_tab_" + nb; } // Инициализируем табы на странице $(function() { initTabs(); }); // Форматирует цену function number_format(number,decimals,dec_point,thousands_sep){var n=number,prec=decimals;var toFixedFix=function(n,prec){var k=Math.pow(10,prec);return(Math.round(n*k)/k).toString();};n=!isFinite(+n)?0:+n;prec=!isFinite(+prec)?0:Math.abs(prec);var sep=(typeof thousands_sep==='undefined')?',':thousands_sep;var dec=(typeof dec_point==='undefined')?'.':dec_point;var s=(prec>0)?toFixedFix(n,prec):toFixedFix(Math.round(n),prec);var abs=toFixedFix(Math.abs(n),prec);var _,i;if(abs>=1000){_=abs.split(/\D/);i=_[0].length%3||3;_[0]=s.slice(0,i+(n<0))+ _[0].slice(i).replace(/(\d{3})/g,sep+'$1');s=_.join(dec);}else{s=s.replace('.',dec);} var decPos=s.indexOf(dec);if(prec>=1&&decPos!==-1&&(s.length-decPos-1)<prec){s+=new Array(prec-(s.length-decPos-1)).join(0)+'0';} else if(prec>=1&&decPos===-1){s+=dec+new Array(prec).join(0)+'0';} return s;} // Превращает поле пароля в текстовое поле и обратно // @LinkObject - ссылка по которой кликнули // @InputObject - объект у которого нужно изменить тип поля function ChangePasswordFieldType (LinkObject, InputObject) { var // Ссылка по которой кликнули LObject = $(LinkObject), // Объект у которого изменяем тип с password на text IObject = $(InputObject), // Старый текст ссылки txtOld = LObject.text(), // Новый текст ссылки txtNew = LObject.attr('rel'); // Если объекты не получены, завершим работу функции if( LObject.length==0 || IObject.length==0 ) { return false; } // Изменяем у ссылки текст со старого на новый LObject.html(txtNew); // Старый текст ссылки сохраняем в атрибуте rel LObject.attr('rel', txtOld); // Изменяем тип input поля if(IObject[0].type == 'text') { IObject[0].type = 'password'; } else { IObject[0].type = 'text'; } } // Крутит изображение при обновлении картинки защиты от роботов function RefreshImageAction(img,num,cnt) { if(cnt>13) { return false; } $(img).attr('src', $(img).attr('rel') + 'icon/refresh/' + num + '.gif'); num = (num==6)?0:num; setTimeout(function(){RefreshImageAction(img, num+1, cnt+1);}, 50); } // Быстрый заказ function quickorder(formSelector) { // Находим форму, которую отправляем на сервер, для добавления товара в корзину var formBlock = $($(formSelector).get(0)); // Проверка на существование формы отправки запроса на добавление товара в корзину if(1 > formBlock.length || formBlock.get(0).tagName != 'FORM') { alert('Не удалось найти форму добавления товара в корзину'); return false; } // Получаем данные формы, которые будем отправлять на сервер var formData = formBlock.serializeArray(); // Сообщаем серверу, что мы пришли через ajax запрос formData.push({name: 'ajax_q', value: 1}); // Так же сообщим ему, что нужно сразу отобразить форму быстрого заказа formData.push({name: 'fast_order', value: 1}); // Аяксом добавляем товар в корзину и вызываем форму быстрого заказа товара $.ajax({ type : "POST", cache : false, url : formBlock.attr('action'), data : formData, success: function(data) { $.fancybox({ content : data // При изменении размера окна изменяем размер окна оформления заказа ,onUpdate : function(){ var w = $(window).width()*0.8; if(w < 800) { // Автоматический ресайз внутреннего блока fancybox-а $('.fancybox-inner').css('width', 'auto'); // Изменяем размер fancybox окна $('.fancybox-wrap').css({'width': w + 'px'}); } return false; } }); setTimeout(function(){$.fancybox.update();}, 500); } }); return false; } $(document).ready(function(){ var lenghtdelivery = document.getElementsByName('form[delivery][id]'); for(var i=0; i < lenghtdelivery.lenght; i++) { if(lenghtdelivery[i].checked) { $('.payment').css("display","block"); } } // Блок с информацией о том что товар добавлен в корзину $('.box').hide(); // Добавление товара в корзину через ajax $('.goodsListItemCatalogueAddToCartButton, .goodsToCartFromCompareForm').submit(function(){ // Если нужно быстро положить в корзину if($(this).attr('rel') == 'quick') { return true; // Если нужно просто добавить в корзину и продолжить покупки } else { $('.box').fadeIn(500); // полсекунды, чтобы не уснуть return false; } }); // Валидация формы на странице оформления заказа, а так же формы на страницы связи с администрацией $("#myform, .feedbackForm, .clientForm, #quickform").validate(); // В форме оформления заказа при клике на кнопку назад просто переходим на предыдущую страницу $('.order form input:submit[name="toprev"]').click(function(){ var act = this.form.action; this.form.action = act + ( act.indexOf( '\?' ) > -1 ? '&' : '?' ) + 'toprev=1'; this.form.submit(); return false; }); // Клик по ячейке с изображением означает клик по картинке $('table.product-image td').click(function(){document.location = $(this).find('a:first').attr('href');return false;}); // Функция собирает свойства в строку, для определения модификации товара function getSlugFromGoodsDataFormModificationsProperties(obj) { var properties = new Array(); var reset_arr = new Array(); $(obj).each(function(i){ if($(this).is(':checked')){ properties[i] = parseInt($(this).val());} }); for(var i in properties) { if(properties[i]) { reset_arr.push(properties[i]); } } return reset_arr.sort(function(a,B){return a - b}).join('_'); } var // Запоминаем поля выбора свойств, для ускорения работы со значениями свойств goodsDataProperties = $('form.goodsDataForm select[name="form[properties][]"]'), // Запоминаем блоки с информацией по модификациям, для ускорения работы goodsDataModifications = $('div.goodsDataMainModificationsList'); // Обновляет возможность выбора свойств модификации, для отключения возможности выбора по характеристикам модификации которой не существует. function updateVisibility (y) { // Проверяем в каждом соседнем поле выбора модификаций, возможно ли подобрать модификацию для указанных свойств goodsDataProperties.each(function(j){ // Если мы сравниваем значения свойства не с самим собой, а с другим списком значений свойств if( j != y ) { // Проходим по всем значениям текущего свойства модификации товара $(this).find('option').each(function(){ // Записываем временный массив свойств, которые будем использовать для проверки существования модификации var checkProperties = new Array(); $(goodsDataProperties).each(function(i){ checkProperties[i] = parseInt($(this).val()); }); // Пытаемся найти модификацию соответствующую выбранным значениям свойств checkProperties[j] = parseInt($(this).attr('value')); // Собираем хэш определяющий модификацию по свойствам slug = checkProperties.sort(function(a,B){return a - b}).join('_'); // Ищем модификацию по всем выбранным значениям свойств товара. Если модификации нет в возможном выборе, отмечаем потенциальное значение выбора как не доступное для выбора, т.к. такой модификации нет. if(!goodsDataModifications.filter('[rel="'+slug+'"]').length) { $(this).attr('disabled', true); // Если выбрав данное значение свойства товара можно подобрать модификацию, то выделяем вариант выбора как доступный. } else { $(this).attr('disabled', false); } }); } }); } // Обновляем возможность выбора модификации товара по свойствам. Для тех свойств, выбор по которым не возможен, отключаем такую возможность. // Проверяем возможность выбора на всех полях кроме первого, чтобы отключить во всех остальных варианты, которые не возможно выбрать updateVisibility (0); // Проверяем возможность выбора на всех полях кроме второго, чтобы в первом поле так же отключилась возможность выбора не существующих модификаций updateVisibility (1); //var goodsDataProperties = $('.goodsDataForm [name="form[properties][]"]'); // Изменение цены товара при изменении у товара свойства для модификации goodsDataProperties.each(function(y){ $(this).change(function(){ var slug = getSlugFromGoodsDataFormModificationsProperties(goodsDataProperties), modificationBlock = $('.goodsDataMainModificationsList[rel="'+slug+'"]'), modificationId = parseInt(modificationBlock.find('[name="id"]').val()), modificationArtNumber = modificationBlock.find('[name="art_number"]').val(), modificationPriceNow = parseFloat(modificationBlock.find('[name="price_now"]').val()), modificationPriceNowFormated = modificationBlock.find('.price_now_formated').html(), modificationPriceOld = parseFloat(modificationBlock.find('[name="price_old"]').val()), modificationPriceOldFormated = modificationBlock.find('.price_old_formated').html(), modificationRestValue = parseFloat(modificationBlock.find('[name="rest_value"]').val()), modificationDescription = modificationBlock.find('.description').html(), modificationMeasureId = parseInt(modificationBlock.find('[name="measure_id"]').val()), modificationMeasureName = modificationBlock.find('[name="measure_name"]').val(), modificationMeasureDesc = modificationBlock.find('[name="measure_desc"]').val(), modificationMeasurePrecision = modificationBlock.find('[name="measure_precision"]').val(), modificationIsHasInCompareList= modificationBlock.find('[name="is_has_in_compare_list"]').val(), goodsModificationId = $('.goodsDataMainModificationId'), goodsPriceNow = $('.goodsDataMainModificationPriceNow'), goodsPriceOld = $('.goodsDataMainModificationPriceOld'), goodsAvailable = $('.goodsDataMainModificationAvailable'), goodsAvailableTrue = goodsAvailable.find('.available-true'), goodsAvailableFalse = goodsAvailable.find('.available-false'), goodsArtNumberBlock = $('.goodsDataMainModificationArtNumber'), goodsArtNumber = goodsArtNumberBlock.find('span'); goodsCompareAddButton = $('.goodsDataCompareButton.add'); goodsCompareDeleteButton = $('.goodsDataCompareButton.delete'); goodsModDescriptionBlock = $('.goodsDataMainModificationsDescriptionBlock'); // Изменяем данные товара для выбранных параметров. Если нашлась выбранная модификация if(modificationBlock.length) { // Цена товара goodsPriceNow.html(modificationPriceNowFormated); // Старая цена товара if(modificationPriceOld>modificationPriceNow) { goodsPriceOld.html(modificationPriceOldFormated); } else { goodsPriceOld.html(''); } // Есть ли товар есть в наличии if(modificationRestValue>0) { goodsAvailableTrue.show(); goodsAvailableFalse.hide(); // Если товара нет в наличии } else { goodsAvailableTrue.hide(); goodsAvailableFalse.show(); } // Если товар есть в списке сравнения if(modificationIsHasInCompareList>0) { goodsCompareAddButton.hide(); goodsCompareDeleteButton.show(); // Если товара нет в списке сравнения } else { goodsCompareAddButton.show(); goodsCompareDeleteButton.hide(); } // Покажем артикул модификации товара, если он указан if(modificationArtNumber.length>0) { goodsArtNumberBlock.show(); goodsArtNumber.html(modificationArtNumber); // Скроем артикул модификации товара, если он не указан } else { goodsArtNumberBlock.hide(); goodsArtNumber.html(''); } // Описание модификации товара. Покажем если оно есть, спрячем если его у модификации нет if(modificationDescription.length > 0) { goodsModDescriptionBlock.show().html('<div>' + modificationDescription + '</div>'); } else { goodsModDescriptionBlock.hide().html(); } // Идентификатор товарной модификации goodsModificationId.val(modificationId); } else { alert('К сожалению сейчас не получается подобрать модификацию соответствующую выбранным параметрам.'); } // Обновляем возможность выбора другой модификации для текущих значений свойств модификации товара. updateVisibility(y); }); }); // Кнопка добавления товара на сравнение товаров $('.goodsDataCompareButton').click(function(){ window.location.href = $(this).attr('rel') + ($(this).attr('rel').indexOf( '\?' ) > -1 ? '&' : '?') + 'id='+ $('.goodsDataMainModificationId').val()+ '&from='+ $('input[name="form[goods_from]"]').val(); return false; }); // Сравнение товаров. Увеличение изображение при клике на ссылку увеличения и открытие галереии с изображениями этого товара $('.CompareGoodsImageZoom').click(function(){ // Галлерея фотографий для данной модификации товаров var galleryBlock = $('.galleryBlock' + $(this).attr('rel')), // Главное изображение товара, которое сейчас стоит у товара galleryMainImage = $('.CompareGoodsImageMain' + $(this).attr('rel')), // Изображение по которому нужно кликнуть в галлерее изображений ImageIngallery = galleryBlock.find('.CompareGoodsImageGallery'+galleryMainImage.attr('rel')); return false; }); // Сравнение товаров. Инвертирование свойств для сравнения товара $('.CompareCheckbox.invert').click(function(){ var checked = true, checkboxes = $('.CompareCheckbox:not(.invert)'); checkboxes.each(function(){ if($(this).attr('checked')) { checked = false; return false; } }); checkboxes.each(function(){ $(this).attr('checked', checked); }); $(this).attr('checked', checked); }); // Сравнение товаров. Скрытие характеристик товара, которые выделил пользователь $('.CompareGoodsHideSelected').click(function(){ $('.CompareGoodsTableTbodyComparisonLine').each(function(){ var CheckedCheckbox = $(this).find('.CompareCheckbox:checked:not(.invert)'); if(CheckedCheckbox.length>0) { $(this).hide(); } }); // отменяем выделение характеристик товаров $('.CompareCheckbox').attr('checked',false); return false; }); // Сравнение товаров. Отображение скрытых характеристик товара $('.CompareGoodsShowAll').click(function(){ $('.CompareGoodsTableTbodyComparisonLine:hidden').show(); return false; }); // Сравнение товаров. Верхняя навигация изменение фильтра на отображение всех характеристик товаров $('.CompareGoodsTableFilterShowAll').click(function(){ $('.CompareGoodsTableFilterSelected').removeClass('CompareGoodsTableFilterSelected'); $('.CompareGoodsTableTbodyComparisonLine:hidden').show(); $(this).addClass('CompareGoodsTableFilterSelected'); return false; }); // Сравнение товаров. Фильтр в верхней навигации. Отображение только различающихся характеристик товара $('.CompareGoodsTableFilterShowOnlyDifferent').click(function(){ $('.CompareGoodsTableFilterSelected').removeClass('CompareGoodsTableFilterSelected'); $('.CompareGoodsTableTbodyComparisonLine:not(.same)').show(); $('.CompareGoodsTableTbodyComparisonLine.same').hide(); $(this).addClass('CompareGoodsTableFilterSelected'); return false; }); // Сравнение товаров. При наведении на строку сравнения, она выделяется цветом $('.CompareGoodsTableTbodyComparisonLine').hover( function () { $(this).addClass('hover'); }, function () { $(this).removeClass('hover'); } ); // При клике по строке выделяем свойство $('.CompareGoodsTableTbodyComparisonLine td:not(.ceil1)').click(function(){ var CompareCheckbox = $(this).parent().find('.CompareCheckbox'); if(CompareCheckbox.attr('checked')) { CompareCheckbox.attr('checked', false); } else { CompareCheckbox.attr('checked', true); } }); // Прокрутка списка сравнения вправо $('.CompareGoodsTablePrev').click(function(){ return false; }); function compareGetVars () { return new Array( $('.CompareGoodsTableTbody tr:first td').length - 1, parseInt($('.CompareGoodsTableTbody tr:first td:visible:not(.ceil1)').attr('class').replace(new RegExp('noBorderBottom compare\-td compare\-td\-'), '')), parseInt($('.CompareGoodsTableTbody tr:first td:visible:last').attr('class').replace(new RegExp('noBorderBottom compare\-td compare\-td\-'), '')) ); } // Прокрутка списка сравнения вправо $('.CompareGoodsTableNext').click(function(){ // Определяем используемые поля var data = compareGetVars(); // Изменяем их если это возможно. if(data[0] > data[2]) { $('.compare-td-' + data[1]).hide(); $('.compare-td-' + (data[2] + 1)).show(); if((data[2] + 1) >= data[0]) { $(this).find('a').addClass('disable'); } if(data[1] + 1 != 1) { $('.CompareGoodsTablePrev a').removeClass('disable'); } } return false; }); // Прокрутка списка сравнения вправо $('.CompareGoodsTablePrev').click(function(){ // Определяем используемые поля var data = compareGetVars(); // Изменяем их если это возможно. if(1 < data[1]) { $('.compare-td-' + (data[1] - 1)).show(); $('.compare-td-' + data[2]).hide(); if((data[1] - 1) <= 1) { $(this).find('a').addClass('disable'); } if(data[2] - 1 != data[0]) { $('.CompareGoodsTableNext a').removeClass('disable'); } } return false; }); // Форма регистрации нового пользователя, действие ссылки "показать пароль" $('.clientForm .showPass').click(function(){ ChangePasswordFieldType(this, $('#sites_client_pass')); return false; }); // Форма регистрации нового пользователя, при оформлении заказа $('.OrderShowPass').click(function(){ ChangePasswordFieldType(this, $('#contactPassWord')); return false; }); // При оформлении заказа дадим возможность зарегистрироваться пользователю $('#contactWantRegister').click(function(){ if($(this).attr("checked")) { $('.contactRegisterNeedElement').show(); $('#contactEmail, #contactPassWord').addClass('required'); } else { $('.contactRegisterNeedElement').hide(); $('#contactEmail, #contactPassWord').removeClass('required'); } }); // Добавление отзыва о товаре. Рейтинг if(typeof($('.goodsDataOpinionTableRating').rating) == "function" ) { $('.goodsDataOpinionTableRating input').rating({ split: 2, required: true }); } // Иконки оплаты, чтобы яша не думал что тут сидят говносайто дельцы, размещающие по 30 бесполезных ссылок с главной сделаем ссылку яваскриптной $('.payment-sistems a').click(function(){ document.location = '/order/stage/contacts'; return false; }); // Список отзывов о товаре. Ссылка на отображение формы для добавление отзыва о товаре $('.goodsDataOpinionShowAddForm').click(function(){ if(0 == $('#goodsDataOpinionAddBlock:visible').length) { $('#goodsDataOpinionAddBlock').show('blind'); } else { $('#goodsDataOpinionAddBlock').hide('blind'); } // Перенесём пользователя на форму добавления отзыва, для случая когда отзывов много и форму в этом случае пользователь не увидит. return true; }); // Добавление отзыва о товаре. кнопка reset скрывающая форму добавления отзыва о товаре $('.goodsDataOpinionFormReset').click(function(){ $('#goodsDataOpinionAddBlock').hide('blind'); return false; }); // Иконка для обновления изображение капчи $('.goodsDataOpinionCaptchaRefresh').click(function(){ RefreshImageAction(this,1,1); $('.goodsDataOpinionCaptchaImg').attr('src',$('.goodsDataOpinionCaptchaImg').attr('src')+'&rand'+Math.random(0,10000)); return false; }); // Фильтры по товарам. При нажании на какую либо характеристику или свойство товара происходит фильтрация товаров $('.contentTbodySearchFilterBlock input').click(function(){ $(this)[0].form.submit(); }); // Действия при выборе варианта доставки на этапе оформления заказа $('.deliveryRadio').click(function(){ // Если текущая выделенная зона доставки не относится к выбранному варианту доставки, снимаем выделение с зоны доставки if($('.deliveryZoneRadio:checked').attr('deliveryid') != $(this).val()) { $('.deliveryZoneRadio:checked').click().attr('checked', false); } }); // Действия при выборе зоны внутри варианта доставки на этапе оформления заказа $('.deliveryZoneRadio').click(function(){ var deliveryId = $(this).attr('deliveryid') ,deliveryZonePrice = $(this).parent().find('.deliveryZonePrice') ,deliveryTbody = $('.orderStageDeliveryListTable tbody[rel="' + deliveryId + '"]') ,deliveryBlock = deliveryTbody.find('#deliveryId' + deliveryId) ,deliveryZonePriceBlock = deliveryTbody.find('.orderStageDeliveryZonePrice') ,deliveryDefaultPriceBlock = deliveryTbody.find('.orderStageDeliveryDefaultPrice') ; // Если этот пункт уже выбран, при повторном клике пользователь видимо хочет снять выделение зоны доставки if('true' == $(this).attr('rel')) { $(this).attr('checked', false); $(this).attr('rel', 'false'); // Показываем цену по умолчанию deliveryDefaultPriceBlock.show(); // Скрываем цену образованную от зоны deliveryZonePriceBlock.hide(); // Отмечаем у всех радио баттонов зон доставки свойство говорящее что они не отмечены } else { $('.deliveryZoneRadio').attr('rel', 'false'); $(this).attr('rel', 'true'); // Показываем цену по умолчанию deliveryDefaultPriceBlock.hide(); // Скрываем цену образованную от зоны deliveryZonePriceBlock.show().html(deliveryZonePrice.html()); // Выделяем вариант доставки к которому относится зона доставки deliveryBlock.attr('checked', true); } }); $("#deliveryConvenientDate").datepicker({ dayNames : ['Понедельник', 'Вторник', 'Среда', 'Четверг', 'Пятница', 'Суббота', 'Воскресенье'], dayNamesMin : ['Вс', 'Пн', 'Вт', 'Ср', 'Чт', 'Пт', 'Сб' ], closeText : 'Готово', currentText : 'Сегодня' , duration : '', monthNames : ['Январь','Февраль','Март','Апрель','Май','Июнь','Июль','Август','Сентябрь','Октябрь','Ноябрь','Декабрь'], monthNamesShort : ['Янв','Фев','Март','Апр','Май','Июнь','Июль','Авг','Сен','Окт','Ноя','Дек'], yearRange : "-6:+6", dateFormat : 'dd.mm.yy', minDate : new Date(), firstDay : 1 }); // Действие при наведении на меню категорий, для возможности отображения вложенного подменю $('ul.nav li').hover( function () { $(this).addClass('over'); }, function () { $(this).removeClass('over'); } ); // На странице товара при наведении на маленькое изображение - изменяем большое изображение $("ul.preview_images li img").hover(function() { var $src = $(this).attr('src'); $("figure img.main").attr('src', $src.replace('mini', 'main')); }); $("ul.preview_images li a").hover(function() { var $src = $(this).attr('src'); var $href = $(this).attr('href'); $("figure a.main").attr('href', $href.replace('mini', 'main')); }); // добавляем стрелки навигации для слайдера $(".other-items").each(function() { $ul = $('<ul class="slide-controls"></ul>'); $previous = $('<li><a href="#" class="previous">Предыдущий</a></li>'); $next = $('<li><a href="#" class="next">Следующий</a></li>'); $ul.append($previous); $ul.append($next); $ul.insertBefore($(this)); }); // выбранный текст для отображения / скрытия - может содержать HTML (например, изображения) var showText='Show'; var hideText='Hide'; var is_visible = false; // добавляется стрелоска показать / скрыть для непосредственно предшествующей ссылки с классом "toggle" $('.additional').prev().append('<a href="#" class="toggleLink">'+showText+'</a>'); // скрывает елементы с классом 'additional' $('.additional').hide(); // событие при клике $('a.toggleLink').click(function() { // переключение видимости is_visible = !is_visible; // изменить ссылку, в зависимости от того виден или скрыт элемент $(this).html( (!is_visible) ? showText : hideText); // Переключение дисплея - раскомментируйте следующую строку для базового стиля "гармошкой" //$('.additional').hide();$('a.toggleLink').html(showText); $(this).parent().next('.additional').slideToggle("800"); return false; }); var // Минимальное значение цены для фильтра priceFilterMinAvailable = parseInt($('.goodsFilterPriceRangePointers .min').text()) // Максимальное значение цены для фильтра ,priceFilterMaxAvailable = parseInt($('.goodsFilterPriceRangePointers .max').text()) // Максимальное значение цены для фильтра ,priceSliderBlock = $('#goods-filter-price-slider') // Поле ввода текущего значения цены "От" ,priceInputMin = $( "#goods-filter-min-price" ) // Поле ввода текущего значения цены "До" ,priceInputMax = $( "#goods-filter-max-price" ) // Блок с кнопкой, которую есть смысл нажимать только тогда, когда изменялся диапазон цен. ,priceSubmitButtonBlock = $( ".goodsFilterPriceSubmit" ) ; // Изменяет размер ячеек с ценой, т.к. у них нет рамок, есть смысл менять размеры полей ввода, чтобы они выглядили как текст function priceInputsChangeWidthByChars() { // Если есть блок указания минимальной цены if(priceInputMin.length) { priceInputMin.css('width', (priceInputMin.val().length*7 + 3) + 'px'); priceInputMax.css('width', (priceInputMax.val().length*7 + 3) + 'px'); } } // Слайдер, который используется для удобства выбора цены priceSliderBlock.slider({ range: true, min: priceFilterMinAvailable, max: priceFilterMaxAvailable, values: [ parseInt($('#goods-filter-min-price').val()) ,parseInt($('#goods-filter-max-price').val()) ], slide: function( event, ui ) { priceInputMin.val( ui.values[ 0 ] ); priceInputMax.val( ui.values[ 1 ] ); priceSubmitButtonBlock.show(); priceInputsChangeWidthByChars(); } }); // При изменении минимального значения цены priceInputMin.keyup(function(){ var newVal = parseInt($(this).val()); if(newVal < priceFilterMinAvailable) { newVal = priceFilterMinAvailable; } priceSliderBlock.slider("values", 0, newVal); priceSubmitButtonBlock.show(); priceInputsChangeWidthByChars(); }); // При изменении максимального значения цены priceInputMax.keyup(function(){ var newVal = parseInt($(this).val()); if(newVal > priceFilterMaxAvailable) { newVal = priceFilterMaxAvailable; } priceSliderBlock.slider("values", 1, newVal); priceSubmitButtonBlock.show(); priceInputsChangeWidthByChars(); }); // Обновить размеры полей ввода диапазона цен priceInputsChangeWidthByChars(); }); //При наведении отображается содержимое корзины $(function() { jQuery(".basket-info").hover(function() { jQuery(this).find('.basket-summary').css('display', 'block', 'z-index', '10000'); }, function() { jQuery(this).find('.basket-summary').css('display', 'none'); }); });
#4
Отправлено 20 Ноябрь 2014 - 00:56
Уточните пожалуйста, актуальна ли ваша проблема? Так как у вас установлена тема Весна и переключение модификаций корректно влияет на стоимость товара.
Количество пользователей, читающих эту тему: 0
0 пользователей, 0 гостей, 0 анонимных