Список при смене языка перестал изменятся
Добрый день! Дали в работу сайт с JS сгенерированом на CofeeScript 1.9.2
Я в JS не силен, сразу говорю. После изменения структуры расположения страниц в каталоге перестал меняться язык выпадающего меню (в остальном никаких проблем). Сам код исполняющий скрипт
dropStreetsRus =[большой массив адресов]
changeLanguage = function() {
var OthBtn, SafBtn, changeDropDowns, href, setAttr;
SafBtn = $("#Safari-lang");
OthBtn = $("#Other-lang");
href = $(location).attr('href');
$.getScript("/assets/js/min/detect-min.js", function() {
var user;
user = detect.parse(navigator.userAgent);
if (user.browser.family === 'Safari') {
$('#Safari-lang').addClass('is-active');
return $('.experience').addClass('is-Safari');
} else {
return $('#Other-lang').addClass('is-active');
}
});
setAttr = function(href) {
SafBtn.attr('href', href);
return OthBtn.attr('href', href);
};
changeDropDowns = function() {
dropStreets = dropStreetsRus;
dropTrafficGeneral = dropTrafficGeneralRus;
dropTrafficK1 = dropTrafficK1Rus;
return dropTrafficK2 = dropTrafficK2Rus;
};
if (href.indexOf('/rus/') > -1) {
setAttr(href.replace('/rus', ''));
} else {
setAttr(href.splice(href.indexOf('/', 8), 0, '/rus'));
}
update_list('#dropdown-group-street', dropStreets);
};
update_list = function(identificator, updater) {
$(identificator + ' ul li').remove();
$.each(updater, function(index, updaterValue) {
$(identificator + ' ul').append('<li class = "someClass">' + updaterValue + '</li>');
});
};
$(document).on('click', '.btn-group .dropdown-menu li', function(e) {
var btn, btnGroup;
e.preventDefault();
btnGroup = $(this).parents('.btn-group');
if (!($(this).hasClass('disable'))) {
btn = btnGroup.find('.btn-dropdown');
btn.addClass('dropdown-selected');
btn.text($(this).text());
btn.append('<span class = "caret"> </span>');
btn.removeClass('dropdown-alert');
if (btnGroup.is('#dropdown-group-street')) {
update_list('#dropdown-group-house', dropHouses[$('#dropdown-group-street li').index(this)]);
}
});
Выделил из файлы-скрипта основные моменты, которые, на мой взгляд, имеют отношение к этой функции. Если чего то не хватает - могу пошуршать код. |
Находясь на странице сайта открой консоль, посмотри какие возникли ошибки.
В хроме клавиша F12 (вкладка «console»). |
ошибок нет... просто скрипт перестал выполнятся. а ошибки я найти не могу :-?
|
Цитата:
|
Цитата:
setAttr(href.splice(href.indexOf('/', 8), 0, '/rus')); единственное не понятно за что отвечает 8 и 0 тут? Раньше страница со скриптом выводилась через /rus/internet.php теперь вложенность файла поменялась на 2 каталога /rus/content/services/internet.php а обычная версия находится в /content/services/internet.php Тоесть скрипт срабатывает, но не меняет язык как указанно в 23 строке dropStreets = dropStreetsRus; |
Цитата:
Цитата:
Цитата:
|
Цитата:
Проблема то в том что и на обычной и на русской версии сайта скрипт выполняется без ошибок, но не переводит массив dropStreets = dropStreetsRus; И как этого добиться без изменения самого скрипта я не знаю... |
Цитата:
но попробуйте заменить '/rus' на '/rus/content' |
Цитата:
Получается /rus/content/сontent/services/internet.php Может попробовать как-то привязать смену dropStreets на dropStreetsRus, например, при смене lang="ru" в шапке сайта? |
Все еще актуально. Могу дать полный скрипт. Может я не туда смотрю?
|
| Часовой пояс GMT +3, время: 18:57. |