Как изменить язык контента якорем

343
27 декабря 2016, 01:05

$(function() {   
    var jGroup = $('.group'), 
        jContent = $('.content');  
    jGroup.on('click', function(event) { 
      var jThis = $(event.currentTarget); 
      jGroup.removeClass('opened'); 
      jContent.find('.container').removeClass('opened'); 
      jThis.addClass('opened');  
      if (jThis.hasClass('a')) { 
        jContent.find('.container.a').addClass('opened'); 
        jContent.find('.group.ru').addClass('linkid');  
        jContent.find('.group.en').removeClass('linkid'); 
      }; 
      if (jThis.hasClass('b')) { 
        jContent.find('.container.b').addClass('opened'); 
        jContent.find('.group.en').addClass('linkid'); 
        jContent.find('.group.ru').removeClass('linkid'); 
      } 
  }); 
});
.container { display: none; } 
.linkid { font-weight: 600; }     
.container.opened { display: block; } 
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.0/jquery.min.js"></script> 
 
<body class="content"> 
 
 
<div id='header'> 
  <div id="share" class="groups-container"> 
    <a href="#" class="group ru a">RU</a> 
    <a href="#" class="group linkid en b">// EN</a>  
  </div> 
 
 <!-- RU --> 
  <div id='buttons' class="container a"> 
    <div id='button'><a class="projects" href="/projects#ru">Проекты</a>    </div> 
    <div id='button'><a class="scrapbook" href="/scrapbook#ru" >Альбом</a></div> 
    <div id='button'><a class="about" href="/about#ru">О нас</a></div> 
    <div id='button'><a class="contact" href="/contact#ru">Контакты</a></div> 
  </div> 
 
    <!-- EN --> 
  <div id='buttons' class="container opened b"> 
      <div id='button'><a class="projects" href="/projects-ru#en">Projects</a></div> 
      <div id='button'><a class="scrapbook" href="/scrapbook#en" >Scrapbook</a></div> 
      <div id='button'><a class="about" href="/about#en">About</a></div> 
      <div id='button'><a class="contact" href="/contact#en">Contact</a> 
    </div> 
</div>

Answer 1

Попробуй вот таким образом

var hash = window.location.hash.replace('#', '');
if(hash == 'en'){
   jContent.find('.container.b').addClass('opened');
   jContent.find('.group.en').addClass('linkid');
   jContent.find('.group.ru').removeClass('linkid');
}else if(hash == 'ru'){
   jContent.find('.container.a').addClass('opened');
   jContent.find('.group.ru').addClass('linkid'); 
   jContent.find('.group.en').removeClass('linkid');
};
READ ALSO
Как хранятся картинки в играх? [требует правки]

Как хранятся картинки в играх? [требует правки]

Где в играх хранятся картинки? Я делаю игру на С++, и там надо явно указывать пути к файлам; когда я скачиваю какую-нибудь игру, там нет картинокКуда...

331
Взвешенный граф

Взвешенный граф

Есть точки вершин : 1(1,5), 2(3,2) и тд

340
QScrollArea и компоновка виджетов

QScrollArea и компоновка виджетов

Есть QScrollArea и на нее нужно положить несколько виджетовЕсли сразу положить на нее layout, тогда все адекватно отображается, но ничего не скроллится(не...

387
Удалить все слова с удвоенными буквами

Удалить все слова с удвоенными буквами

Нужно использовать strtok, я не могу понять как мне проверить каждое слово из введённого массива символов, допустим:

401