Как увеличить размер шрифта с помощью jQuery? - PullRequest
14 голосов
/ 12 мая 2011

Привет! Я хочу постепенно изменять размер шрифта страницы с помощью jQuery. Как мне это сделать?

Что-то вроде:

$('body').css({'font-size':'+.01px'});
$('body').css({'font-size':'-.01px'});

Ответы [ 10 ]

32 голосов
/ 12 мая 2011

Вы можете сделать это:

var fontSize = parseInt($("body").css("font-size"));
fontSize = fontSize + 1 + "px";
$("body").css({'font-size':fontSize});

jsFiddle пример здесь

8 голосов
/ 12 мая 2011

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

var fontSize = $('body').css('font-size').split('px')[0];

var fontInt = parseInt(fontSize) + 1;

fontSize = fontInt + 'px';

Это можетнужно немного изменить, я просто написал без тестирования.

4 голосов
/ 07 декабря 2011

Это может зависеть от того, какая версия jquery, но я использовал следующее

HTML

<input type="button" id="button" />
<div id="box"></div>

CODE

$(document).ready(function() {
  $("#button").click(function() {
    $("#box").css("width","+=5");
   });
 });
1 голос
/ 08 сентября 2016

Попробуйте как показано ниже:

jQuery("body *").css('font-size','+=1');
1 голос
/ 24 апреля 2014

Будьте осторожны при использовании шрифтов не-px. Использование кода Sylvain при анализе int, если размер шрифта равен 1.142857em, приведет к 2px!

parseInt (1.142857em) == 1

1 + 1 + 'px' == 2px

1 голос
/ 18 февраля 2014

Используйте что-то вроде этого

$(document).ready(function() {
    $('id or class of what input').click(function() {
        $('div, p, or span of what font size your increasing').css("font-size", function() {
            return parseInt($(this).css('font-size')) + 1 + 'px';
        });
    });
});
1 голос
/ 12 мая 2011

HTML

<input id="btn" type="button" value="Increase font" /> <br />
<div id="text" style="font-size:10px">Font size</div>

Javascript

$(document).ready(function() {
    $('#btn').click(function() {
        $('#text').css("font-size", function() {
            return parseInt($(this).css('font-size')) + 1 + 'px';
        });
    });
});

Демо: http://jsfiddle.net/ynhat/CeaqU/

0 голосов
/ 11 августа 2017

Это решение использует проценты вместо px, а также не требует установки размера или заголовков стилей в HTML.

HTML:

<p>This is a paragraph.</p>
<button id="btn">turn up</button>

jQuery:

var size = "100%";
$("#btn").click(function() {
size = parseFloat(size)*1.1+"%";// multiplies the initial size by 1.1
    $("p").css("fontSize", size);// changes the size in the CSS
});

здесь работает jsfiddle

0 голосов
/ 01 января 2016
    $(document).ready(function () {

        var i = 15;

        $("#myBtn").click(function () {
            if (i >= 0) {
             i++
                var b = $("#myText").css({"background-color": "yellow", "font-size": i})

            }
        })
//If you want to decrease it too
        $("#myBtn2").click(function () {
            if (i <= 500) {

                i--
             var b = $("#myText").css({"background-color": "yellow", "font-size": i})

            }
        })
    })
0 голосов
/ 23 октября 2015

Вот пример того, как я сделал это с помощью ползунка пользовательского интерфейса jQuery.

Пример здесь

HTML:

    <div class="container">
  <div class="row">
    <div class="col-md-12">
      <div class="text">
        <h1>Hello, increase me or decrease me!</h1>
      </div>
    </div>
  </div>
  <div class="row">
    <div class="col-md-12">
      <div id="mySlider"></div>
    </div>
  </div>
</div>

CSS:

.text h1 {
  color: #333;
  font-family: Arial, sans-serif;
  font-size: 30px;
}

JS:

$("#mySlider").slider({
  range: "min",
  min: 30,
  max: 70,
  slide: function(e, u) {
    $(".text h1").css("font-size", u.value + "px"); // We want to keep 30px as "default"
  }

});
...