2013-11-14 2 views
0

просто пытается написать функцию jQuery, которая будет увеличивать размер шрифта p тегов при его вызове. Я сделал это до сих пор ...Функция jquery для увеличения размера шрифта для задачи доступности

$("#incfont").click(function() {    
    $('p').each(function(){ 
     var fontsize; 
     fontsize = parseInt($(this).css('font-size')); 
     $(this).css({'font-size':(fontsize+1)+'px'}); 
    }) 
}) 

Кажется, что один раз увеличит шрифт, но не вызовет никаких вызовов.

Любые советы, оцененные.

+0

выглядит хорошо для меня http://jsfiddle.net/arunpjohny/S8gHN/1/ –

+0

может быть, вам просто нужно добавить '$ (документ) .ready (функция() {});' к вашему JavaScript? –

+0

его можно упростить до '$ (" # incfont "). Click (function() { $ ('p'). Css ('font-size', '+ = 1') })' see http://jsfiddle.net/arunpjohny/S8gHN/5/ –

ответ

1

Вам не нужно, что промежуточная переменная или функция; см. here.

$("#incfont").click(function() { 
    $('p').css('font-size','+=1'); 
}); 
0

мне удалось это исправить,

мне нужно parseFloat() не ParseInt извлеченного размера шрифта из каждого элемента.

+0

Вы можете сделать это с помощью 'parseInt'..check мое решение .. –

0

Попробуйте это:

var fontsize; 
$("#incfont").click(function() { 

       $('p').each(function(index){ 
        if(index==0){ 
        fontsize = parseInt($(this).css('font-size')); 
        } 
        $(this).css({'font-size':(fontsize+=1)+'px'}); 

       }) 
      }) 

Демо:http://jsfiddle.net/yLgCB/

0

это будет еще один способ: demo

function resizeText(multiplier) { 
var p = $("p")[0]; 
    if (p.style.fontSize == "") { 
    p.style.fontSize = "1.0em"; 
    } 

    p.style.fontSize = parseFloat(p.style.fontSize) + (multiplier * 0.2) + "em"; 
} 
Смежные вопросы