goods.js
5.76 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
$(document).ready(function () {
// для таблицы кроссов, классы обозначаются через cross_
var cross_prefix = '';
// по умолчанию - цены в долларах, остальные скрываем
var show_currency = ['usd'];
var hidden_currency = ['uah', 'eur'];
// первоначальная инициация цен
priceInitialisation();
// привяжем обработчик смены валюты
$(document).on("click", ".currency", changeCurrency);
// привяжем обработчик обновления страницы pjax
$(document).on('pjax:complete', function() {
console.log(document.location);
priceInitialisation();
})
function changeCurrency() {
$('.currency').removeClass('active_button_purple1');
$(this).addClass('active_button_purple1');
// после смены валюты - покажем цены в выбранной валюте
priceInitialisation();
}
function priceInitialisation() {
// найдем текущую установленную валюту, и пересчитаем цены в ней
var current_currency = $('.active_button_purple1')[0];
if (typeof current_currency === 'object'){
if (current_currency.getAttribute('id') === 'grivna') {
show_currency = ['uah'];
hidden_currency = ['eur', 'usd'];
} else if (current_currency.getAttribute('id') === 'euro') {
show_currency = ['eur'];
hidden_currency = ['uah', 'usd'];
} else if (current_currency.getAttribute('id') === 'dollars') {
show_currency = ['usd'];
hidden_currency = ['uah', 'eur'];
}
setVisiblePrice();
}
}
function setVisiblePrice() {
// элементы с классами из show_currency отобразим
for (var i = 0; i < show_currency.length; i++) {
var arr_elements = document.getElementsByClassName(show_currency[i] + cross_prefix);
for (var j = 0; j < arr_elements.length; j++) {
if (arr_elements[j].classList.contains('hidden'))
arr_elements[j].classList.remove('hidden');
}
}
// элементы с классами из hidden_currency спрячем
for (var i = 0; i < hidden_currency.length; i++) {
var arr_elements = document.getElementsByClassName(hidden_currency[i] + cross_prefix);
for (var j = 0; j < arr_elements.length; j++) {
if (!arr_elements[j].classList.contains('hidden'))
arr_elements[j].classList.add('hidden');
}
}
}
//модальное окно для фото
// ловим клик по ссылки с id="go"
$(document).on("click", 'a#go_photo', function (event) {
event.preventDefault(); // выключаем стандартную роль элемента
var scrollTop = window.pageYOffset ? window.pageYOffset : (document.documentElement.scrollTop ? document.documentElement.scrollTop : document.body.scrollTop);
viewportHeight = $(window).height();
var modalWidth = $('#modal_form_photo').width() / 2;
var modalHeight = $('#modal_form_photo').outerHeight() / 2;
$('#overlay').fadeIn(400, // сначала плавно показываем темную подложку
function () { // после выполнения предъидущей анимации
$('#modal_form_photo')
.css({'display': 'block', opacity: 1, marginTop: -modalHeight, marginLeft: -modalWidth}) // убираем у модального окна display: none;
.animate({opacity: 1, top: scrollTop + (viewportHeight / 2)}, 200); // плавно прибавляем прозрачность одновременно со съезжанием вниз
});
});
/* Закрытие модального окна, тут делаем то же самое но в обратном порядке */
$(document).on( "click",'#modal_close, #overlay', function () { // ловим клик по крестику или подложке
$('#modal_form_photo')
.animate({opacity: 0, top: '45%'}, 200, // плавно меняем прозрачность на 0 и одновременно двигаем окно вверх
function () { // после анимации
$(this).css('display', 'none'); // делаем ему display: none;
$('#overlay').fadeOut(400); // скрываем подложку
}
);
});
//открытие-закрытие карточки товара и смена текста на бирке карточки товара
function changeText() {
e = document.getElementById('button_grey_card');
e.innerHTML = e.innerHTML == "Скрыть карточку товара" ? "Открыть карточку товара" : "Скрыть карточку товара";
}
$(document).on( "click",'#button_grey_card' , function () {
changeText();
$(this).toggleClass('change_b');
$('.tovar_card').toggleClass('tovar_card_visible');
$('.table').toggleClass('table_height');
});
// модальная форма с инфой по тех-доку
$(document).on("click", '.tecdoc_id_info', function(e){
var tecdoc_id = $(this).data('id');
$.post( "/detail/get-details-for-item", {tecdoc_id:tecdoc_id},function( data ) {
$('#details_content').empty();
$('#details_content').html(data);
});
});});