重新加载后字体大小会更改

时间:2016-04-21 10:51:35

标签: javascript css

enter image description here

点击A +或A-后效果很好,但问题出在加载页面或点击页面上的某些链接后会恢复正常。

我需要它来保持大小,即使在某些链接上克服了。

谢谢你的帮助。

这是代码:



function increaseFont() {

  var currentFontSizeH1 = $('h1').css('font-size'); //36

  var currentFontSizeNumH1 = parseFloat(currentFontSizeH1, 5);

  var currentFontSizeNumH1 = currentFontSizeNumH1 + 1.5;

  $('h1').css('font-size', currentFontSizeNumH1);

  var deccurrentFontSize = $('body').css('font-size'); //14
  var deccurrentFontSizeNum = parseFloat(deccurrentFontSize, 10);
  var decnewFontSize = deccurrentFontSizeNum * 1.2;
  $('body').css('font-size', decnewFontSize);
  $('body').css('font-size', decnewFontSize);
  $('p').css('font-size', decnewFontSize);
  $('span').css('font-size', decnewFontSize);
  $('li').css('font-size', decnewFontSize);
  $('h2').css('font-size', decnewFontSize);

  $('a').css('font-size', decnewFontSize);

  return false;
}

function decreaseFont() {

  var currentFontSizeH1 = $('h1').css('font-size');

  var currentFontSizeNumH1 = parseFloat(currentFontSizeH1, 5);

  var currentFontSizeNumH1 = currentFontSizeNumH1 - 1.5;

  $('h1').css('font-size', currentFontSizeNumH1);

  var deccurrentFontSize = $('body').css('font-size');
  var deccurrentFontSizeNum = parseFloat(deccurrentFontSize, 10);
  var decnewFontSize = deccurrentFontSizeNum / 1.2;
  $('body').css('font-size', decnewFontSize);
  $('p').css('font-size', decnewFontSize);
  $('span').css('font-size', decnewFontSize);
  $('li').css('font-size', decnewFontSize);
  $('h2').css('font-size', decnewFontSize);

  $('a').css('font-size', decnewFontSize);

  return false;
}

h1 {
  font-size: 36px;
  line-height: 42px;
  color: #007ea6;
}
body {
  margin: 0;
  font-family: Arial, Helvetica, sans-serif;
  font-size: 14px;
  line-height: 21px;
  color: #333333;
  background-color: #ffffff;
}
.....

<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.2.6/jquery.min.js"></script>
<div title="{" Increase the text size "|i18n( 'design/siteinstitutionnel/page_header_changerCSS' )}" style="width: 6px;" class="span1"><a href="#" style="text-decoration:none;font-size: 17px; box-shadow: 0 3px 0 #aaa,0px 0 0 #888,0px 3px 0 #666;" onClick="increaseFont();" alt="Aggrandir la taille du texte">A+</a>
</div>
<div title="{" Decrease the text size "|i18n( 'design/siteinstitutionnel/page_header_changerCSS' )}" style="width: 21px;" class="span1"><a href="#" style="text-decoration:none;font-size: 17px; box-shadow: 0 3px 0 #aaa,0px 0 0 #888,0px 3px 0 #666;" onClick="decreaseFont();" alt="Reduire la taille du texte">A-</a> 
</div>
&#13;
&#13;
&#13;

3 个答案:

答案 0 :(得分:3)

您可以在Window.sessionStorage中的变量中保存大小。

// Save data to sessionStorage
sessionStorage.setItem('fontSize', value);

// Get saved data from sessionStorage
var size = sessionStorage.getItem('fontSize');

页面会话结束时,会在sessionStorage中存储的数据被清除。只要浏览器处于打开状态,页面会话就会持续,并且会在页面重新加载和恢复后继续存在。在新选项卡或窗口中打开页面将导致启动新会话。

答案 1 :(得分:3)

Localstorage也是一个选项,但旧浏览器不支持:

if(typeof(Storage) !== "undefined") {
    // Set the value
    localStorage.setItem("fontSize", fontSize);

    // Get the value
    var fontSize = localStorage.getItem("fontSize");
} else {
    // Sorry! No Web Storage support..
}

或者你可以使用Cookies。

答案 2 :(得分:2)

如果你想保留它,你必须保存它。为了实现这一点,您可以使用LocalStorage,如

localStorage.setItem("fontSize", yourFontSize);

您可以像这样加载$(document).ready()中的值

$( document ).ready(function() {
    var fontSize = localStorage.getItem("fontSize");
}