Автор Тема: Вывод кнопки увеличить шрифт  (Прочитано 10976 раз)

Ru$ito

  • Гость
Вывод кнопки увеличить шрифт
« : Января 16, 2012, 03:50:46 pm »
Может кто подскажет, необходимо реализовать кнопку увеличить шрифт на главной странице сайта.
Например, при нажатии на кнопку увеличить шрифт - шрифт увеличивается на 2px (реализовано), но весь затык в том что когда переходишь на другую страницу сайта он "слетает". (данная кнопка реализовано на форуме phpdb)
Предположительно надо параметр увеличения шрифта передавать в сессию пользователя, а потом уже считавать из сессии при переходе на другую страницу - это в теории, а на практике - пока не тыц-тыц.
Может кто поможет! На пиво с меня  :)

Ru$ito

  • Гость
Re: Вывод кнопки увеличить шрифт
« Ответ #1 : Января 16, 2012, 04:09:02 pm »
Прикручиваю к Lego 5.
На счет AJAX надо будет подумать и погуглить.

Ru$ito

  • Гость
Re: Вывод кнопки увеличить шрифт
« Ответ #2 : Января 17, 2012, 08:31:49 am »
Частично для одного элемента решил свою проблему:
1. в head.tpl.html добавляем:
<script type="text/javascript">
function setActiveTextSize(activetSize){
Csize=document.getElementById('maket').style.fontSize;
if(Csize)
document.getElementById(Csize).className=Csize;
document.getElementById(activetSize).className='active';
document.getElementById('maket').style.fontSize = activetSize;
document.getElementById('s_panel').style.fontSize = activetSize;

// write/rewrite cookie
createCookie("ActiveFontSize",activetSize,1000);
}
function createCookie(cookie_name,value,days) {
if (days) {
var date = new Date();
date.setTime(date.getTime()+(days*24*60*60*1000));
var expires = "; expires="+date.toGMTString();
}
else expires = "";
document.cookie = cookie_name+"="+value+expires+"; path=/";
}
function readCookie(cooke_name) {
regexpr = cooke_name+ '=(.*?)(;|$)';
var results = document.cookie.match (regexpr);
if ( results ) {
return ( unescape ( results[1] ) );
}
else { return null; }
}

function applystyle(){
var Currentfontsize ='medium';
if (readCookie('ActiveFontSize')) {
var Currentfontsize = readCookie('ActiveFontSize');
setActiveTextSize(Currentfontsize);
} else {

setActiveTextSize(Currentfontsize);
}
document.getElementById(Currentfontsize).className ='active';
}
</script>
maket и s_panel - это элементы которым необходимо изменять размер шрифта

2. Дабавляем div изменяющий
<div id="resizetext" class="textSizeTool" style="z-index: 2;">
<span style="font-size:small" class="small" id="small" onclick="setActiveTextSize('small');">T</span><span style="font-size:medium" class="medium" id="medium" onclick="setActiveTextSize('medium');">T</span><span style="font-size:large" class="large" id="large" onclick="setActiveTextSize('large');">T</span>
</div>
3. В самый конец главного дива:
<script>
applystyle();
</script>
И вуаля, получаем изменение размера шрифта на сайте. При переходе на другие страницы размер шрифт сохраняется.

Не селен в JavaScript, как сделать так чтобы указав главный див все внутренние дивы изменили свой размер шрифта
« Последнее редактирование: Января 17, 2012, 01:23:37 pm от slamm »

Ru$ito

  • Гость
Re: Вывод кнопки увеличить шрифт
« Ответ #3 : Января 17, 2012, 03:23:11 pm »
В Jquery нашел очень замечательное свойство

Заменяем нашу верхнюю функцию и абсолютно для тегов DIV изменяем размер шрифта. Также можно поменять цвет, высоту и тд.
function setActiveTextSize(activetSize){
$('div').css('font-size', activetSize.substr(1,3)+'px');
$('a').css('font-size', activetSize.substr(1,3)+'px');
createCookie("ActiveFontSize",activetSize.substr(1,3),1000);
}
Может кому будет полезно!