На MasterPage.Master
я установил размер шрифта на моей веб-странице <<code>body onload="checkCookie()">
<div id="menu">
<ul>
<li><a href="javascript:decFontSize();" class="minus"></a></li>
<li><a href="javascript:defaultFontSize();" class="default"></a></li>
<li><a href="javascript:incFontSize();" class="plus"></a></li>
</ul>
</div>
и вот соответствующий Javascript
var min = 11;
var max = 18;
function checkCookie(){
var FontSize=getCookie('FontSize');
if (FontSize!=null && FontSize!="")
{var p = document.getElementsByTagName('p');
for (i = 0; i < p.length; i++)
{p[i].style.fontSize = FontSize + "px"}}
else {
{
var p = document.getElementsByTagName('p');
for (i = 0; i < p.length; i++)
{ p[i].style.fontSize = FontSize + "px" }
}
setCookie('FontSize', 13, 365);
}
}
function getCookie(c_name) {
if (document.cookie.length > 0) {
c_start = document.cookie.indexOf(c_name + "=");
if (c_start != -1) {
c_start = c_start + c_name.length + 1;
c_end = document.cookie.indexOf(";", c_start);
if (c_end == -1) c_end = document.cookie.length
return unescape(document.cookie.substring(c_start, c_end));
}
}
return ""
}
function setCookie(c_name, value, expiredays) {
var exdate = new Date();
exdate.setDate(exdate.getDate() + expiredays);
document.cookie = c_name + "=" + escape(value) + ((expiredays == null) ? "" : "; expires=" + exdate.toUTCString());
}
function defaultFontSize() {
var p = document.getElementsByTagName('p');
for (i = 0; i < p.length; i++)
{ p[i].style.fontSize = 13 + "px" }
setCookie('FontSize', 13, 365);
}
function incFontSize() {
var p = document.getElementsByTagName('p');
for(i=0;i<p.length;i++) {
if(p[i].style.fontSize) {
var s = parseInt(p[i].style.fontSize.replace("px",""));
} else {
var s = 11;
}
if(s!=max) {
s += 1;
}
p[i].style.fontSize = s+"px"
}
setCookie('FontSize',s,365);
}
function decFontSize() {
var p = document.getElementsByTagName('p');
for(i=0;i<p.length;i++) {
if(p[i].style.fontSize) {
var s = parseInt(p[i].style.fontSize.replace("px",""));
} else {
var s = 11;
}
if(s!=min) {
s -= 1;
}
p[i].style.fontSize = s+"px"
}
setCookie('FontSize',s,365);
}
Проблема со следующим кодом выше, что на каждом post
размер текста "мигает". Говоря о вспышках, я имею в виду, что сначала он отображается с размером по умолчанию (13 пикселей), а затем устанавливается в значение, установленное cookie-файлом ... что довольно раздражает
Так, не могли бы вы указать мне, что здесь не так?