Newsgroup: it.comp.lang.javascript
Titolo: Cambiare class a un link

Salve.
Avrei la necessità che un link testuale, a un click su di esso, cambi
il tipo di class a cui è associato, si può fare?
Ah, se funzionasse con NN4.7x sarebbe anche meglio ;-)
Grazie,
--
Antonio Spatrisano
Orvieto (TR) - ITALY
E-Mail : 
str...@orvienet.it
 
darkt...@libero.it
 
dragon...@tiscalinet.it
----------------------------------------------------------------------
"Because by fate even the gods are cast down
 Weep ye all with me"
----------------------------------------------------------------------

 Grazie,
Enjoy!
[... ma non su NN4.x poichè non interpreta al 100% i css :°( ]
Daniele.
<html>
<head>
   <title>classLink</title>
   <meta http-equiv="content-type" content="text/html; charset=iso-8859-1">
   <meta http-equiv="content-language" content="IT">
   <meta name="description" content="cambiare la classe ad un link con 
un click">
   <meta name="abstract" content="JavaScript e CSS">
   <meta name="keywords" content="JavaScript, CSS, link, classe, 
onClick, click">
   <meta name="author" content="Daniele Marchesini - email: 
sky...@iol.it
">
   <meta name="distribution" content="IU">
   <meta name="copyright" content="no copyright">
   <meta name="robots" content="none, nofollow, noindex">
<style type="text/css">
<!--
body{
	background-color:	#efefef;
	color:			#333333;
	margin:			0px;
	padding:		10px;
	font-family:		Verdana, Arial, Helvetica, sans-serif;
	font-size:		12px;
	font-weight:		normal;
	overflow:		hidden;
}
a{
	font-weight:		bold;
	text-decoration:	none;
	padding:		2px 10px;
	border-width:		1px;
	border-style:		solid;
	border-color:		#cccccc #666666 #666666 #cccccc;
	display:		block;
	margin:			1px 0px;
	cursor:			default;
}
a:hover{
	border-color:		#666666 #cccccc #cccccc #666666;
}
.link{
	background-color:	#f5f5f5;
	color:			#555555;
}
.link:hover{
	background-color:	#fafafa;
	color:			#333333;
}
.activate{
	background-color:	#e5e5e5;
	color:			#ff3333;
}
.activate:hover{
	background-color:	#ffffff;
	color:			#ff0000;
}
div{
	position:		relative;
	width:			450px;
	margin:			10px 0px;
	padding:		10px;
	overflow:		auto;
}
#testo{
	height:			100px;
	border-width:		1px;
	border-color:		#000000;
	border-style:		dashed;
	cursor:			default;
}
#links{
	height:			250px;
	background-color:	#eeeeee;
	color:			#222222;
	border-width:		1px;
	border-color:		#000000;
	border-style:		solid;
}
-->
</style>
<script language="JavaScript" type="text/JavaScript">
<!--
function changeLinkClass(obj){
   theClass = obj.className;
   if(theClass=='link')
     obj.className = 'activate';
   else
     obj.className = 'link';
}
//-->
</script>
</head>
<body>
<div id="testo">
Salve.
Avrei la necessità che un link testuale, a un click su di esso, cambi
il tipo di class a cui è associato, si può fare?
Ah, se funzionasse con NN4.7x sarebbe anche meglio ;-)
Grazie
</div>
<div id="links">
<script language="JavaScript" type="text/JavaScript">
<!--
with(document){
	open();
	write('<b>user agent</b>: '+ navigator.userAgent);
         write('<br><b>nome</b>: ' +navigator.appName);
         write('<br><b>versione</b>: ' + navigator.appVersion);
	close();
}
//-->
</script>
<br><br>cliccando sul link cambia classe e si mantengono gli effetti css 
sul rollover.<br><br>
<a class="link" href="javascript:void(0)" onFocus="this.blur()" 
onClick="changeLinkClass(this)">clicca su questo link ...</a>
<a class="link" href="javascript:void(0)" onFocus="this.blur()" 
onClick="changeLinkClass(this)">clicca su questo link ...</a>
<a class="link" href="javascript:void(0)" onFocus="this.blur()" 
onClick="changeLinkClass(this)">clicca su questo link ...</a>
<a class="link" href="javascript:void(0)" onFocus="this.blur()" 
onClick="changeLinkClass(this)">clicca su questo link ...</a>
<a class="link" href="javascript:void(0)" onFocus="this.blur()" 
onClick="changeLinkClass(this)">clicca su questo link ...</a>
</div>
</body>
</html>

skylark ha scritto
<script language="JavaScript" type="text/JavaScript">
<!--
with(document){
 open();
 write('<b>user agent</b>: '+ navigator.userAgent);
         write('<br><b>nome</b>: ' +navigator.appName);
         write('<br><b>versione</b>: ' + navigator.appVersion);
 close();
}
//-->
Non ho capito come funziona questo script,
l'ho provato su diversi browser e succedono le cose più strane:
Explorer4.01:
user agent: Mozilla/4.0 (compatible; MSIE 4.01; Windows 98)
nome: Microsoft Internet Explorer
versione: 4.0 (compatible; MSIE 4.01; Windows 98)
Netscape4.61
user agent: Mozilla/4.61 [en] (Win98; I)
nome: Netscape
versione: 4.61 [en] (Win98; I)
Netscape6.2.1:
user agent: Mozilla/5.0 (Windows; U; Win98; en-US; rv:0.9.4) Gecko/20011128 Netscape6/6.2.1
nome: Netscape
versione: 5.0 (Windows; en-US)
Opera5.12:
user agent: Mozilla/4.0 (compatible; MSIE 5.0; Windows 98) Opera 5.12  [it]
nome: Microsoft Internet Explorer
versione: 4.0 (compatible; MSIE 5.0; Windows 98)
...e visto che diceva SEMPRE user agent Mozilla
l'ho provato anche su Mozilla 0.9.7:
user agent: Mozilla/5.0 (Windows; U; Win98; en-US; rv:0.9.7) Gecko/20011221
nome: Netscape
versione: 5.0 (Windows; en-US)
In sostanza, l'unica volta
che avrebbe dovuto scrivere Mozilla
ha scritto Netscape!
Secondo te da cosa dipende tutto ciò?
MaRoK

Daniele.
Troppa grazia! ;-)
Bastava mi dicessi "usa la proprietà className" e io capivo ;-p
Mmm, metodi alternativi x NN4 nun ce so' eh?


 Mmm, metodi alternativi x NN4 nun ce so' eh?
così al volo non me ne vengono in mente ... magari pensandoci un 
pochettino, ma credo che si tratterà in ogni caso di un qualche 
workaround ...
Ciao!
Daniele

non ho capito bene perchè, ma spedendo il post in alcuni stili sono 
apparsi due punti prima del nome di alcune pseudoclassi al posto di uno 
... mah!
Comunque, queste sono quelle corrette! :)
Ciao!
Daniele.



e con il subject
[serio] dimmi il tuo navigator.userAgent e ti dirò chi sei :)
se riesci a trovarlo in qualche raccolta ... è illuminante! ;)
Ciao, Daniele.