Въпрос за урок

AnyB1s

Registered
Здравейте, значи използвам този код от урок за смяна големината на шрифта обаче как да го направя да не е
Код:
<div id="info"></div>
ами да е клас:
Код:
<div class="info"></div>
Мерси!

Код:
 var font_size = 14;
var font_original = 14;
var min_font = 9;
var max_font = 18;

var appNs=navigator.appVersion;
var ns4=(appNs.indexOf("4.77") != -1)||(appNs.indexOf("4.8") != -1);

function artTxt(txFg){
if (!ns4&&!txFg)document.write("<style>.txt{text-align:left;margin-right:118px;}</style>");
}

function saveFontSize(){
var expire = new Date ();
expire.setTime (expire.getTime() + (6000 * 24 * 3600000)); //expires in 6 days from users clock
expire = expire.toGMTString();
document.cookie="font_size="+font_size+"; expires="+expire;
}



function loadFontSize(){

tempArray = document.cookie.split(";");
for (tA = 0; tA < tempArray.length; tA++){
if (tempArray[tA].indexOf('font_size') > -1){
fontValue = tempArray[tA].split("=");
font_size = parseInt(fontValue[1]);
}
}

}


function setFontSize(){

loadFontSize()
obj = document.getElementById("info");
obj.style.fontSize = font_size+"px";

}


function plus (){
obj = document.getElementById("info");
font_size = obj.style.fontSize;
font_size = parseInt(font_size);

if (font_size < max_font) font_size = font_size + 1;

obj.style.fontSize = font_size+"px";
saveFontSize();
}



function minus (){
obj = document.getElementById("info");
font_size = obj.style.fontSize;
font_size = parseInt(font_size);

if (font_size > min_font) font_size = font_size - 1;

obj.style.fontSize = font_size+"px";
saveFontSize()
}



function normal (){
obj = document.getElementById("info");
font_size = font_original;
obj.style.fontSize = font_size+"px";
saveFontSize()
}

window.onload=new Function("setFontSize(); tabview_initialize('TabView'); ");
 
Има, за да ми е валидна страницата не мога да използвам 2 пъти id за това ми трябва class.
 
Пробвай на всякъде където е document.getElementById да го смениш на document.getElementByClass (но мисля, че няма да стане - javascript работи с ID, а не с класове, но пробвай туко-виж станало)

var font_size = 14;
var font_original = 14;
var min_font = 9;
var max_font = 18;

var appNs=navigator.appVersion;
var ns4=(appNs.indexOf("4.77") != -1)||(appNs.indexOf("4.8") != -1);

function artTxt(txFg){
if (!ns4&&!txFg)document.write("<style>.txt{text-align:left;margin-right:118px;}</style>");
}

function saveFontSize(){
var expire = new Date ();
expire.setTime (expire.getTime() + (6000 * 24 * 3600000)); //expires in 6 days from users clock
expire = expire.toGMTString();
document.cookie="font_size="+font_size+"; expires="+expire;
}



function loadFontSize(){

tempArray = document.cookie.split(";");
for (tA = 0; tA < tempArray.length; tA++){
if (tempArray[tA].indexOf('font_size') > -1){
fontValue = tempArray[tA].split("=");
font_size = parseInt(fontValue[1]);
}
}

}


function setFontSize(){

loadFontSize()
obj = document.getElementByClass("info");
obj.style.fontSize = font_size+"px";

}


function plus (){
obj = document.getElementByClass("info");
font_size = obj.style.fontSize;
font_size = parseInt(font_size);

if (font_size < max_font) font_size = font_size + 1;

obj.style.fontSize = font_size+"px";
saveFontSize();
}



function minus (){
obj = document.getElementByClass("info");
font_size = obj.style.fontSize;
font_size = parseInt(font_size);

if (font_size > min_font) font_size = font_size - 1;

obj.style.fontSize = font_size+"px";
saveFontSize()
}



function normal (){
obj = document.getElementByClass("info");
font_size = font_original;
obj.style.fontSize = font_size+"px";
saveFontSize()
}

window.onload=new Function("setFontSize(); tabview_initialize('TabView'); ");
 
Не ти я валидира щото имаш едно и също ID на няколко места ? Еми тогава сменяй ид-то и сменяй ид-то в вжава скрипта ;) и го викай колкото пъти ти е нужно.
 
Rado каза:
Не ти я валидира щото имаш едно и също ID на няколко места ? Еми тогава сменяй ид-то и сменяй ид-то в вжава скрипта ;) и го викай колкото пъти ти е нужно.

Wow и ако има 50 id-та? не е това начина.
 
Точно заради това искам да го направя да е клас, обаче не знам как.
Някой може ли да помогне?
 
jooorooo каза:
Rado каза:
Не ти я валидира щото имаш едно и също ID на няколко места ? Еми тогава сменяй ид-то и сменяй ид-то в вжава скрипта ;) и го викай колкото пъти ти е нужно.

Wow и ако има 50 id-та? не е това начина.
Е тогава няма да е приятно.Просто дадох моето решение, което ми дойде на ум, иначе естествено , че е по-рационално с класове да стане - стига някой да му каже как :?:
 
http://web-tourist.net/project/jooorooo/index2.html

действа на следните тагове: div, span, table

Код:
  <script type="text/javascript"> 
	var font_size = 14; 
	var font_original = 14; 
	var min_font = 9; 
	var max_font = 18; 
	//var name;

  function setCookie(name, value, expires, path, domain, secure) {
	document.cookie = name + "=" + escape(value) +
	((expires == null) ? "" : "; expires=" + expires.toGMTString()) +
	((path == null) ? "" : "; path=" + path) +
	((domain == null) ? "" : "; domain=" + domain) +
	((secure == null) ? "" : "; secure");
  } 
  function readCookie(name) {
	var nameEQ = name + "=";
	var ca = document.cookie.split(';');
	for(var i=0;i < ca.length;i++) {
		var c = ca[i];
		while (c.charAt(0)==' ') c = c.substring(1,c.length);
		if (c.indexOf(nameEQ) == 0) return c.substring(nameEQ.length,c.length);
	}
	return null;
  }
  function setFontSize(name){  
	obj = document.getElementById(name); 
	if(readCookie(name))
		{
		obj.style.fontSize = readCookie(name)+"px";
		}
	else
		{
		obj.style.fontSize = font_size+"px";
		}
  } 
  function minus (name){
	obj = document.getElementById(name); 
	font_size = parseInt(font_size); 
	if (font_size > min_font) font_size = font_size - 1; 
	obj.style.fontSize = font_size+"px"; 
	setCookie(name,font_size); 
  }
  function plus (name){ 
	obj = document.getElementById(name); 
	font_size = parseInt(font_size); 
	if (font_size < max_font) font_size = font_size + 1; 
	obj.style.fontSize = font_size+"px"; 
	setCookie(name,font_size); 
  } 
  function normal (name){ 
	obj = document.getElementById(name); 
	font_size = font_original; 
	obj.style.fontSize = font_size+"px"; 
	setCookie(name,font_size); 
  } 
  window.onload = function() 
  {
	for(i=0;i<document.all.tags('div').length;i++)
		{
		name=document.all.tags('div')[i].id;
		setFontSize(name);
		}
	for(i=0;i<document.all.tags('span').length;i++)
		{
		name=document.all.tags('span')[i].id;
		setFontSize(name);
		}
	for(i=0;i<document.all.tags('table').length;i++)
		{
		name=document.all.tags('table')[i].id;
		setFontSize(name);
		}
	
  }
  </script> 
  <body>
  
  <h1>Div test</h1>
  <div id="test"> Text</div> <br>
  <a href="javascript: minus('test')">-</a>  
  <a href="javascript: plus('test')">+</a> 
  <a href="javascript: normal('test')">nor</a>
  
  <h1>Div test</h1>
  <span id="C"> Text</span> <br>
  <a href="javascript: minus('C')">-</a>  
  <a href="javascript: plus('C')">+</a> 
  <a href="javascript: normal('C')">nor</a>
  
  <h1>Table test</h1>
  <table id="sa">
	<tr>
		<td> Text</td>
	</tr>
  </table>
  <a href="javascript: minus('sa')">-</a>  
  <a href="javascript: plus('sa')">+</a> 
  <a href="javascript: normal('sa')">nor</a>

ако искаш и други, добави си ги тук:

Код:
for(i=0;i<document.all.tags('table').length;i++)
		{
		name=document.all.tags('table')[i].id;
		setFontSize(name);
		}

както съм го направил.
 
Ох, jorooo, не видях, че пак става с <div id="нещо"> така мога да ползвам само по 1 път. Защото като го проверя на валидатора ми дава, че е вече въведено. Целта ми да с 1 клас, да речем <div class="neshto"> да го използвам за тесктовете ми в цялата страница и от 1 място да се оголемява както е примерно: css-bg.net
Това ми е целта!
Мерси
 
AnyB1s каза:
Ох, jorooo, не видях, че пак става с <div id="нещо"> така мога да ползвам само по 1 път. Защото като го проверя на валидатора ми дава, че е вече въведено. Целта ми да с 1 клас, да речем <div class="neshto"> да го използвам за тесктовете ми в цялата страница и от 1 място да се оголемява както е примерно: css-bg.net
Това ми е целта!
Мерси

на всеки елемент задай различен id. Примерно


Код:
  <h1>Div test</h1>
  <div id="test1"> Text 1</div> <br>
  <a href="javascript: minus('test1')">-</a> 
  <a href="javascript: plus('test1')">+</a>
  <a href="javascript: normal('test1')">nor</a> 


  <h1>Div test</h1>
  <div id="test2"> Text 2</div> <br>
  <a href="javascript: minus('test2')">-</a> 
  <a href="javascript: plus('test2')">+</a>
  <a href="javascript: normal('test2')">nor</a> 

  <h1>Div test</h1>
  <div id="test3"> Text 3</div> <br>
  <a href="javascript: minus('test3')">-</a> 
  <a href="javascript: plus('test3')">+</a>
  <a href="javascript: normal('test3')">nor</a>


Ето ти го 1000% валидно. виж id-to което се ползва как е зададено в линковете ;-) това е за кое id се отнася линка.

П.П. ето ти за цялата страница как да стане http://www.dyn-web.com/dhtml/sizefont/index.php
 
Да, разбрах те, мерси пак просто преди това не бях разбрал как си го направил, че е с различни id-та :)
 

Back
Горе