2016-09-24 6 views
0

Я работаю с функцией на моей главной странице. Все работает отлично, я просто хочу знать, как сохранить язык выбора на странице, когда я нажимаю ссылку и перехожу на другую страницу.Используйте localStorage.setItem, чтобы сохранить те же самые шоу/скрывать divs

Например, id = "en" является языком по умолчанию, но если я хочу использовать id = "fr" на моей главной странице и нажмите ссылку, которая отправит меня на другую страницу. Я вернусь к id = "en". Таким образом, чтобы сохранить тот же язык, как я могу использовать эту функцию:

localStorage.setItem("language", selectedLanguage); 
currentlanguage= localStorage.getItem("language"); 

Вот является jsfiddle функции, которые я использую для переключения языка:

https://jsfiddle.net/kodjoe/chvw181j/

$(document).ready(function() { 
 
    $('.lan').hide(); 
 
    $('.en').show(); 
 
}); 
 

 
$('.button').click(function(event) { 
 
    $('.lan').hide(); 
 
    var selectedLanguage = $(this).attr('id'); 
 
    var setActiveLanguage = "." + selectedLanguage; 
 
    $(setActiveLanguage).show(); 
 

 
localStorage.setItem("language", selectedLanguage); 
 
currentlanguage= localStorage.getItem("language"); 
 
});
.button { 
 
    cursor: pointer; 
 
    padding: 0px 30px; 
 
}
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script> 
 
<a class="button" id="en">EN</a> 
 
<a class="button" id="fr">FR</a> 
 
<a class="button" id="de">DE</a> 
 

 

 
<div class="lan en">1</div> 
 
<div class="lan fr">2</div> 
 
<div class="lan de">3</div> 
 
<div class="lan en">4</div> 
 
<div class="lan fr">5</div> 
 
<div class="lan de">6</div>

+0

не должно быть трудно понять ... установить внутри обработчика событий, получить на странице загрузки. – charlietfl

+0

@charlietfl Я действительно не знаю, так ли это, и мне нужно будет использовать его на других страницах? – coolio83000

+0

для настройки да. Но вы хотите «получить» на загрузке страницы, чтобы вы знали, что вы скрываете/показываете тогда. – charlietfl

ответ

0

сначала сохраните свою стоимость

$('.button').click(function(event) { 
    $('.lan').hide(); 
    var selectedLanguage = $(this).attr('id'); 
    var setActiveLanguage = "." + selectedLanguage; 
    $(setActiveLanguage).show(); 

localStorage.setItem("language", selectedLanguage); //storing under the key of language 

}); 

затем получить значение на готовый в вашей .ready функции

var langStored = localStorage.getItem("language"); 

если значения не хранится он будет возвращать null.

Так ставить условия есть то, что вы хотите делать, когда вы получаете langStored и когда вы получите null

загляните на: codepen

+0

ребята, он отлично работает, D – coolio83000

+0

, пожалуйста, голосуйте за него thn! :) –

0

Set/Получить товар LocalStorage.

localStorage.setItem('selectedLang', $(this).attr('id')); 

localStorage.getItem('selectedLang'); 

Документация: HTML5 Web Storage

Код для вашего примера

$(document).ready(function() { 
    $('.lan').hide(); 
    var classSel = localStorage.getItem('selectedLang') ? localStorage.getItem('selectedLang') : 'en'; 
    //Get the value from localStorage and show that class only 
    $('.'+classSel).show(); 

    $('.button').click(function(event) { 
     $('.lan').hide(); 
     $("." + $(this).attr('id')).show(); 
     //Set the localStorage value 
     localStorage.setItem('selectedLang', $(this).attr('id')); 
    }); 
}); 
+0

ok Мне нужно добавить свой код на мою главную страницу, но я должен добавить другие страницы, которые выполняют ту же функцию? – coolio83000

+0

Просто замените свой код javascript на мой, он будет работать. –

+0

Лучше создать один общий файл js, который будет загружать полный код javascript, как упоминалось, что будет работать, если HTML доступен для кнопки, или он покажет ранее выбранное значение из localstorage, вы получаете мою точку зрения? –

 Смежные вопросы

  • Нет связанных вопросов^_^