Изменение размера шрифта в текстовой области с помощью файлов cookie - PullRequest
1 голос
/ 27 августа 2011

На данный момент я добавил функцию размера шрифта в мою Textarea.

Она работает нормально, но теперь я хочу добавить куки.Вот что я получил до сих пор:

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 голосов
/ 28 августа 2011

Редактировать: Я сейчас вижу ошибку. Переключите порядок этих двух утверждений из этого:

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) защищает от null, undefined, 0, false и "" все в одной проверке. Я бы также предложил вам использовать некоторые пробелы и новые строки в вашем коде, чтобы сделать его более читабельным.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...