我试图在网站上实现字体大小调整功能。我编写了一些jQuery代码,这些代码在Mozila上运行得很完美,但是在Chrome,Safari等其他浏览器上运行。在Chrome和Safari上,它仅在首次点击时调整字体大小。这是我的代码。
JQuery代码
jQuery(document).ready(function(){
jQuery('[id="fontlarge"]').click(function(){
jQuery('*').each(function(){
var fontSize = jQuery(this).css('font-size');
fontSize = fontSize.substr(0,2);
//alert(fontSize);
if(fontSize<=13)
{
var currentSize = jQuery(this).css('font-size');
var currentSize = parseFloat(currentSize)+.2;
jQuery(this).css('font-size', currentSize);
}
});
});
jQuery('[id="fontsmall"]').click(function(){
jQuery('*').each(function(){
var fontSize = jQuery(this).css('font-size');
fontSize = fontSize.substr(0,2);
//alert(fontSize);
if(fontSize>=12)
{
var currentSize = jQuery(this).css('font-size');
var currentSize = parseFloat(currentSize)-.2;
jQuery(this).css('font-size', currentSize);
}
});
});
});
HTML代码
<span id="fontsmall" style="cursor:pointer;">-</span> <span id="fontlarge" style="cursor:pointer;">+</span>
我不确定如何解决这个问题。
答案 0 :(得分:1)
你可以使用整数来调整字体大小,如果可以,你应该解决它。
我在你的代码中注意到了以下内容: -
fontSize.substr(0,2)
即使您的字体大小为10.2,10.4等,它也会始终返回两位数字。
所以这就是因为浏览器只是第一次扩展你的字体大小。我不知道为什么要在firefox上工作,但它不应该在任何地方工作。
请使用fontSize.slice(0,-2)