Javascript-форум (https://javascript.ru/forum/)
-   Events/DOM/Window (https://javascript.ru/forum/events/)
-   -   Изменение размера шрифта (https://javascript.ru/forum/events/45546-izmenenie-razmera-shrifta.html)

kostyanet 06.03.2014 15:54

По-моему тут в сто раз проще классы переключать. Но если хочется стили, то примерно так (ниче не проверял):

function ToggleFonts(tag_name){

	var toggle_fs=function() {
		if(this.dataset.org_font) {
			this.style.fontSize=this.dataset.org_font.'px';
			this.dataset.org_font=null;
		} else {
			var fs = window.getComputedStyle(this, null).getPropertyValue('font-size');
			this.dataset.org_font = parseFloat(fs);
			this.style.fontSize='36px';
		}
	};
	
	var p=document.getElementsByTagName(tag_name);
	for (var i=0; i<p.length; i++)
		p[i].addEventListener('click', toggle_fs, false);

}

рони 06.03.2014 16:22

Цитата:

Сообщение от kostyanet
Но если хочется стили, то примерно так (ниче не проверял):

чем ваш нерабочий пример лучше 3 поста

у вас условие в 4 строке нерабочее
5 строка ошибка
8 нафиг ненужна

у вас зуд отметится в каждой теме?
<!DOCTYPE html>
<html>
<head>
<style type='text/css'>
p {
	font-size: 17px;
}
</style>
<script>
window.onload=function (){
	(function (tag_name){
	var toggle_fs=function() {
		if(this.dataset.org_font) {
			this.style.fontSize='17px';
			this.dataset.org_font= '';
		} else {
			this.dataset.org_font = this.style.fontSize='36px';
		}
	};

	var p=document.getElementsByTagName(tag_name);
	for (var i=0; i<p.length; i++)
		p[i].addEventListener('click', toggle_fs, false);

}
)('p');
};
</script>
</head>
<body>
<p>Text 0</p>
<p>Text 1</p>
<p>Text 2</p>
</body>
</html>


Часовой пояс GMT +3, время: 02:31.