Петербург: 8 (812) 648-55-08
Новгород:   8 (8162) 552-432
info@kuratov.ru

Студия Kuratov.Ru создание и продвижение сайтов

Изменение размера текста при помощи jQuery

Ранее я уже реализовывал скрипт для изменения размера текста несколькими способами, но сейчас мне кажется, что я нашел самый удобный способ для этого. В предыдущих проектах я путался с определением текущего размера шрифта и необходимой его настройкой (подгонкой). Но, по-моему, упрощение повысило его возможности.

Перевод статьи Simple jQuery Text Resizer.

Демо

Отступление

Существует огромное множество способов, которые вы можете использовать для изменения размера текста, но этот является лучшим для меня. Поэтому используйте подходящую вам технику и изменяйте шрифты по вашему усмотрению.

Еще одно: у меня есть скрипт для изменения размера текста.  По моему мнению, нет нужды повторять функции браузера. То же самое я думаю о ссылках НАЗАД и ПЕЧАТЬ, но иногда эти функции все-таки нужны, поэтому я написал это.

Концепция

Концепция очень простая: вы кликаете на размер шрифта по вашему выбору, и класс добавляется к основным параметрам для индикации размера шрифта, который выбрал пользователь. Затем, мы возьмем преимущество основного класса, когда мы пишем наш CSS для соответствующего изменения других элементов.

Код

Давайте начнем как обычно с создания пометки (markup):

<ul class="resizer">
    <
li class="small"><a href="#">A</a></li>
    <
li class="medium"><a href="#">A</a></li>
    <
li class="large"><a href="#">A</a></li>
</
ul

jQuery

Пометка была достаточно простой, поэтому давайте перейдем к jQuery. Во-первых, мы хотим выполнить наш код тогда, когда документ загружен, и затем добавить событие, когда будет нажата одна из изменяющих размер ссылок:

$(document).ready(function() {
    
$('.resizer a').click(function() {

    }
);
}); 

Затем, мы хотим получить класс родительской ссылки, которая была нажата, убрать все классы изменения размера шрифта из body (основного списка) и добавить новый:

$(document).ready(function() {
    
$('.resizer a').click(function() {
        
var textSize = $(this).parent().attr('class');
        $(
'body').removeClass('small medium large').addClass(textSize);
    
});
}); 

Также мы не хотим того, чтобы выполнялось обычное действие по ссылке, поэтому ставим фальшивый возврат (обманка):

$(document).ready(function() {
    
$('.resizer a').click(function() {
        
var textSize = $(this).parent().attr('class');
        $(
'body').removeClass('small medium large').addClass(textSize);
        return 
false;
    
});
}); 

Также я думаю важно помнить о том, какой именно размера шрифта пользователь выбрал, находясь на сайте, поэтому мы воспользуемся преимуществом плагина jQuery Cookie чтобы помочь нам с этим. Мы установим Cookie , который укажет нам, какой именно размер шрифта выбрал пользователь:

$(document).ready(function() {
    
$('.resizer a').click(function() {
        
var textSize = $(this).parent().attr('class');
        $(
'body').removeClass('small medium large').addClass(textSize);
        $.
cookie('TEXT_SIZE',textSize{ path'/'expires10000 });
        return 
false;
    
});
}); 

И , наконец, нам осталось только добавить в начало скрипта проверку, так, чтобы если этот cookie был установлен, мы могли добавить этот размер как класс в тело (список ):

$(document).ready(function() {
    
if($.cookie('TEXT_SIZE')) {
        
$('body').addClass($.cookie('TEXT_SIZE'));
    
}
    
$('.resizer a').click(function() {
        
var textSize = $(this).parent().attr('class');
        $(
'body').removeClass('small medium large').addClass(textSize);
        $.
cookie('TEXT_SIZE',textSize{ path'/'expires10000 });
        return 
false;
    
});
}); 

CSS

Сейчас мы переходим к действительно мощной части производства изменителя размера шрифтов. И эта часть – CSS. Мы можем начать с простого определения размера шрифта, когда он находится в маленьком/по умолчанию состоянии:

body { font12px/18px Arialsans-serif

затем, нам нужно сделать небольшую простую настройку (изменение) для среднего и большого размеров:

.medium { font-size16pxline-height22px}
.large { font-size20pxline-height26px

Таким же способом можно пройтись по оставшимся элементам, которые были назначены как размер шрифта:

h1 { font-size30pxline-height36px}
.medium h1 { font-size34pxline-height40px}
.large h1 { font-size38pxline-height44px}
h2 { font
-size24pxline-height30px}
.medium h2 { font-size28pxline-height34px}
.large h2 { font-size32pxline-height38px}
h3 { font
-size18pxline-height24px}
.medium h3 { font-size22pxline-height28px}
.large h3 { font-size26pxline-height32px

Демо

Эта идея очень простая, и она действительно разделяет презентацию и поведенческие слои. Так что вы думаете? Есть ли другая техника, которая так бы вам понравилась?

Добавить к себе на страницу:

Репост в ЖЖ
22.11.2009, 17:03 1 комментарий

Оставить комментарий

  1. Михаил 18.10.2010, 20:37 #

    Благодарю за понятный и полезный материал.

Оставить комментарий


Заказать создание сайта

Я хочу

Еще мне понадобится

  • Дальнейшее продвижение
  • Написание материалов для сайта
  • Фирменный стиль: логотип    визитка    бланки

Сообщение (если есть что добавить)


Заказать продвижение сайта

Я хочу повысить отдачу от своего сайта

А также хочу, чтобы на сайт приходили по следующим поисковым запросам:

Оформите мне ответ в виде коммерческого предложения