Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #21 (permalink)  
Старый 19.05.2017, 00:06
Аватар для рони
Профессор
Отправить личное сообщение для рони Посмотреть профиль Найти все сообщения от рони
 
Регистрация: 27.05.2010
Сообщений: 33,135

Сообщение от TyronNIKO
Выдает такое:
значит неправильно заменили -- либо } лишняя либо не хватает.
замените блок целиком на это
/*СМЕНА ЯЗЫКА*/
  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/', '/'));
      update_list('#dropdown-group-street', dropStreets);
    } else {
      setAttr(href.splice(href.indexOf('/', 8), 0, '/rus'));
      update_list('#dropdown-group-street', dropStreetsRus);
    }

  };
  /*END-СМЕНА ЯЗЫКА*/
Ответить с цитированием
  #22 (permalink)  
Старый 19.05.2017, 08:23
Профессор
Отправить личное сообщение для Nexus Посмотреть профиль Найти все сообщения от Nexus
 
Регистрация: 04.12.2012
Сообщений: 3,800

Один из случаев, когда без ящика не разберешь, как программист хотел сделать, чтобы это работало))
Можно после объявления массивов проверить присутствие '/rus/' в адресной строке, если фраза присутствует, то все массивы с данными на оригинальном языке перезаписываешь массивами RUS, в противном случае наоборот.
Этот костыль наверняка поможет, однако это костыль.

UPD. Не понимаю почему и я и Рони решили, что массивы с русскими наименованиями должны размещаться в блоке else условия, ведь условие читается так: «если в строке адреса присутствует "/rus" то...»
Попробуй сделать так:
if (href.indexOf('/rus') > -1) {
  setAttr(href.replace('/rus/', '/'));
  changeDropDowns();
} else {
  setAttr(href.splice(href.indexOf('/', 8), 0, '/rus'));
}

Последний раз редактировалось Nexus, 19.05.2017 в 08:37.
Ответить с цитированием
  #23 (permalink)  
Старый 19.05.2017, 12:47
Интересующийся
Отправить личное сообщение для TyronNIKO Посмотреть профиль Найти все сообщения от TyronNIKO
 
Регистрация: 16.05.2017
Сообщений: 10

Сообщение от Nexus Посмотреть сообщение
Один из случаев, когда без ящика не разберешь, как программист хотел сделать, чтобы это работало))
Можно после объявления массивов проверить присутствие '/rus/' в адресной строке, если фраза присутствует, то все массивы с данными на оригинальном языке перезаписываешь массивами RUS, в противном случае наоборот.
Этот костыль наверняка поможет, однако это костыль.

UPD. Не понимаю почему и я и Рони решили, что массивы с русскими наименованиями должны размещаться в блоке else условия, ведь условие читается так: «если в строке адреса присутствует "/rus" то...»
Попробуй сделать так:
if (href.indexOf('/rus') > -1) {
  setAttr(href.replace('/rus/', '/'));
  changeDropDowns();
} else {
  setAttr(href.splice(href.indexOf('/', 8), 0, '/rus'));
}
Эврика! заработало!
Я действительно через-чур конкретно "заменял"... в конце ведь должно выполнятся update_list('#dropdown-group-street', dropStreets); ...и уже после него должен стоять }; а я лепил прямо после указанной части! В общем все работает! Огромное спасибо за помощь!
Ответить с цитированием
Ответ



Опции темы Искать в теме
Искать в теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Оставить выделение при смене фокуса DZHETIGAPA Events/DOM/Window 5 01.02.2018 20:11
изменение значения input при смене значения select galart jQuery 4 30.01.2015 19:39
Прерывается выполнение функции при смене аргумента mikser763 Общие вопросы Javascript 1 11.10.2010 16:36
Как сделать плавное изменение размеров контейнеров при смене AJAX-содержимого Nominus umbra Общие вопросы Javascript 3 27.01.2010 13:32
При первом клике список не раскрывается. lancer Элементы интерфейса 1 30.03.2008 17:24