使用Cookie更改文本区域的字体大小

时间:2011-08-27 19:55:38

标签: javascript jquery cookies resize size

目前我已将字体大小功能添加到我的Textarea。

它工作正常,但现在我想添加cookie。 这是我到目前为止所得到的:

var size=size2 + "px";
var size2=15;

function getCookie(c_name){var i,x,y,ARRcookies=document.cookie.split(";");for (i=0;i<ARRcookies.length;i++){x=ARRcookies[i].substr(0,ARRcookies[i].indexOf("="));y=ARRcookies[i].substr(ARRcookies[i].indexOf("=")+1);x=x.replace(/^\s+|\s+$/g,"");if (x==c_name){return unescape(y);}}}
function setCookie(c_name,value,exdays){var exdate=new Date();exdate.setDate(exdate.getDate() + exdays);var c_value=escape(value) + ((exdays==null) ? "" : "; expires="+exdate.toUTCString());document.cookie=c_name + "=" + c_value;}

var cookiesize=getCookie('fontsize');
if(cookiesize!==undefined&&cookiesize!==""&&cookiesize!==null){
size2=cookiesize;  
}
else{}
function add(){
    size2++;
    size=size2+"px";
    if(size2 > 40){size2=40;}

    setCookie('fontsize',size2,365);

    $('#current').html("<b>"+size2+"</b>");
    $('#curren').stop(true,true).animate({'top' : '0px'},500);
    $('#curren').stop(true,true).delay(3500).animate({'top' : '-50px'},1500);
    $('#code1').css('font-size', size2);
}
function less(){
    size2--;
    size=size2+"px";
    if(size2 < 5){size2=5;}

    setCookie('fontsize',size2,365);

    $('#current').html("<b>"+size2+"</b>");
    $('#curren').stop(true,true).animate({'top' : '0px'},500);
    $('#curren').stop(true,true).delay(4000).animate({'top' : '-50px'},1500);
    $('#code1').css('font-size', size2);
}
$(document).ready(function(){
    $('#panel').html("<form method='post' name='pad' align='center'><textarea class='look' rows='11' id='code1' name='text' cols='58'></textarea><br></form>");
    $('#current').html("<b>"+size2+"</b>");
    $('#curren').stop(true,true).animate({'top' : '0px'},500);
    $('#curren').stop(true,true).delay(4000).animate({'top' : '-50px'},1500);
    $('#code1').css('font-size', size2);
});
function show(){ 
    $('#curren').stop(true,true).animate({'top' : '0px'},500);
    $('#curren').stop(true,true).delay(4000).animate({'top' : '-50px'},1500);
}

我没有给你们HTML或CSS,但它不应该被需要。 现在,我得到的是未定义的消息,其中字体大小应为。

希望你能帮忙!
最诚挚的问候,香港

1 个答案:

答案 0 :(得分:0)

修改:我现在看到了错误。切换这两个语句的顺序:

var size=size2 + "px";
var size2=15;

到此:

var size2=15;
var size=size2 + "px";

您在定义之前引用了size2

此外,这是代码建议:

改变这个:

if(cookiesize!==undefined&&cookiesize!==""&&cookiesize!==null){
size2=cookiesize;  
}
else{}

到此:

if (cookiesize) {
    size2 = cookiesize;  
}

if (cookiesize)可以在一次检查中防范nullundefined0false""。我还建议你在代码中使用一些空格和新行来使它更具可读性。