Показать сообщение отдельно
  #1 (permalink)  
Старый 08.01.2018, 04:20
Аспирант
Отправить личное сообщение для Nik_Dev Посмотреть профиль Найти все сообщения от Nik_Dev
 
Регистрация: 26.12.2017
Сообщений: 30

Сохранение выбора страницы подгрузки
Здравствуйте.
Извиняюсь, но я в java несилен, поэтому прошу вашей помощи.

Сделал подгрузку страницы в div, всё работает, всё хорошо.
Но есть одна проблема.
Есть модуль фильтрации по товарам на сайте, есть кнопка выбора валюты в грн. и евро. То есть при выборе евро подгружается страница с ценами товаров в евро и подгружается выбор диапазона цены в евро в модуль фильтрации. С этим проблем нет, всё работает идеально, но вот когда перехожу на следующую страницу, то обновляется сайт и загружается страница которая стоит первоочередной в подгрузке (то есть грн.) и отображается вторая страница с ценами в грн., а не в евро.

Вот сайт, чтобы вы посмотрели и поняли о чем я.
Так как не знаю, как подробней объяснить.
http://etl.kl.com.ua/tehnika/

Можно ли как-то реализовать запоминание через куки?
Или по другому сделать подгрузку контента.

Пытался реализовать ajax переход по страницам, но не получается.
Совсем тупой я в java.


Собственно код вывода переключателя:
<div class="source source-1">₴</div>
<div class="source source-2">€</div>



<div class="target target-1">цены в грн.</div>
<div class="target target-2">цены в евро</div>


Сам скрипт:
var HIDDEN_CLASS_NAME = 'hidden'
var TARGET_CLASS_NAME = 'target'
var SOURCE_CLASS_NAME = 'source'

var targetIdToShow = 1

function main() {
var targets = getElements(TARGET_CLASS_NAME)
var sources = getElements(SOURCE_CLASS_NAME)
sources.forEach(function (sourceNode) {
var sourceNodeId = extractId(sourceNode, SOURCE_CLASS_NAME)
sourceNode.addEventListener('click', function () {
showTarget(targets, sourceNodeId)
})
})
showTarget(targets, targetIdToShow)
}

function getElements(type) {
return [].slice.call(document.querySelectorAll('.' + type)).sort(function (targetNode1, targetNode2) {
var target1Num = extractId(targetNode1, TARGET_CLASS_NAME)
var target2Num = extractId(targetNode2, TARGET_CLASS_NAME)
return target1Num > target2Num
})
}

function extractId(targetNode, baseClass) {
var currentClassIndex = targetNode.classList.length
while (currentClassIndex--) {
var currentClass = targetNode.classList.item(currentClassIndex)
var maybeIdNum = parseInt(currentClass.split('-')[1])
if (isNaN(maybeIdNum)) {
continue
}
var classStrinToValidate = baseClass + '-' + maybeIdNum
if (classStrinToValidate === currentClass) {
return maybeIdNum
}
}
}

function showTarget(targets, targetId) {
targets.forEach(function (targetNode, targetIndex) {
var currentTargetNodeId = extractId(targetNode, TARGET_CLASS_NAME)
if (currentTargetNodeId === targetId) {
targetNode.classList.remove(HIDDEN_CLASS_NAME)
} else {
targetNode.classList.add(HIDDEN_CLASS_NAME)
}
})
}

main()




Буду очень признателен за помощь )
Ответить с цитированием