本地存储字体系列

时间:2013-12-15 18:23:49

标签: javascript jquery html5 local-storage

我需要一些本地存储方面的帮助。到目前为止,我有一些js允许用户更改div的字体系列,并设法在本地保存用户选择。但是,我无法弄清楚如何在重新加载时将字体系列值(即helvetica)应用于div。

    function updateh1family() {
var selector = document.getElementById('selecth1FontFamily');
var family = selector.options[selector.selectedIndex].value;
var h1 = document.getElementById('edit')
h1.style.fontFamily = family;    

var font = document.getElementById('edit');
font.onchange = function() {
document.getElementById('edit').style.fontFamily = family;
localStorage.setItem('font', family);
}
font.value = localStorage.getItem('font');
font.onchange();

if (localStorage.length != 0) {
document.getElementById('edit').style.fontFamily = localStorage.font;
document.getElementById('edit').value = localStorage.font;
 }}

3 个答案:

答案 0 :(得分:0)

嗯,这很简单

 <script type="text/javascript">
    window.onload
    {
        if(localStorage.font)
        {
             document.getElementById('FontDiv').style.fontFamily = localStorage.font;
        }
    }
 </script>

答案 1 :(得分:0)

我建议您使用classes而不是尝试直接操作样式。假设您正在使用库,jQuery使这很容易。你的标签说你是,但你的代码建议没有。

.on { font-family: arial; }

$(function () {
  localStorage.setItem('class', 'on');
  $('#edit').addClass(localStorage.getItem('class'));
});

Fiddle example

答案 2 :(得分:0)

检查此解决方案:http://jsfiddle.net/jy424/2/

var selector = document.getElementById('selecth1FontFamily'),
    text= document.getElementById('edit');

if (localStorage.length != 0) {
  text.style.fontFamily = localStorage.font;
  text.value = localStorage.font;
}else{
  localStorage.setItem('font', '');
}

selector.onchange = function(){
  var family = this.value;
  text.style.fontFamily = family;
  localStorage.font = family;
}