【发布时间】:2021-03-13 10:35:36
【问题描述】:
我需要一个脚本来增加和减少字体,但在返回网站时保持用户设置的值。我相信这应该由cookie来完成。我找到了一个例子,但是当我把它付诸实践时,什么也没有发生。当我单击 A + (increaseFont) 时,什么也没有发生。按照网站下方的脚本:https://erika.codes/jquery/increase-decrease-page-font-size-jquery/
<script src='https://cdnjs.cloudflare.com/ajax/libs/jquery/1.12.4/jquery.min.js'></script>
<script src="https://cdn.jsdelivr.net/npm/js-cookie@rc/dist/js.cookie.min.js"></script>
<div>
<span class="increaseFont">A+</span>
<span class="decreaseFont">A-</span>
<span class="resetFont">Aa</span>
</div>
<script>
var fontResize = {
textresize : function(){
var $cookie_name = "eip-FontSize";
var originalFontSize = $("html").css("font-size");
$.cookie($cookie_name, originalFontSize, { expires: 7, path: '/' });
// if exists load saved value, otherwise store it
if($.cookie($cookie_name)) {
var $getSize = $.cookie($cookie_name);
$("html").css({fontSize : $getSize + ($getSize.indexOf("px")!=-1 ? "" : "px")}); // IE fix for double "pxpx" error
} else {
$.cookie($cookie_name, originalFontSize);
//$.cookie($cookie_name, originalFontSize, {expires: 7, path: '/' });
}
// reset font size
$(".resetFont").bind("click", function() {
$("html").css("font-size", originalFontSize);
$.cookie($cookie_name, originalFontSize);
//$.cookie($cookie_name, originalFontSize, { expires: 7, path: '/' });
});
// function to increase font size
$(".increaseFont").bind("click", function() {
var currentFontSize = $("html").css("font-size");
var currentFontSizeNum = parseFloat(currentFontSize, 10);
var newFontSize = currentFontSizeNum*1.05;
//var newFontSize = currentFontSizeNum + 2;
if (newFontSize, 11) {
$("html").css("font-size", newFontSize);
$.cookie($cookie_name, newFontSize);
//$.cookie($cookie_name, newFontSize, { expires: 7, path: '/' });
}
return false;
});
// function to decrease font size
$(".decreaseFont").bind("click", function() {
var currentFontSize = $("html").css("font-size");
var currentFontSizeNum = parseFloat(currentFontSize, 10);
var newFontSize = currentFontSizeNum*0.95;
if (newFontSize, 11) {
$("html").css("font-size", newFontSize);
$.cookie($cookie_name, newFontSize);
//$.cookie($cookie_name, newFontSize, { expires: 7, path: '/' });
}
return false;
});
}
}
$(document).ready(function(){
fontResize.textresize();
})
</script>
*我找到了另一个有效但没有cookie的示例,当页面更新时,值恢复正常:https://jsfiddle.net/pairdocs/yq8Le0gn/4/
【问题讨论】:
-
使用本地存储。
-
我没听懂你的评论。
-
很抱歉 FSDford,但我对 Jquery 的了解有限,我无法实现这一点,我正在寻找教程并对其进行更改,但我不是像你这样的优秀程序员.
标签: javascript jquery css font-size