ciao a tutti, ho realizzato un semplice script per visualizzare delle immagini senza fare il refresh della pagina
lo script preleva il valore di href dei link che contengono il link dell' immagine da visualizzare e al click la visualizza
html:
javascript:Visimage.jsCodice PHP:<head>
<script type="text/javascript" src="./[B]Visimage.js[/B] "></script>
</head>
<body>
<script type="text/javascript">
window.onload = function(){
dispimg = new visimage();
dispimg.init('miniature','bigfoto');
}
</script>
<div id="foto">
<ul id="miniature">[*][url="./img/fotomax1.jpg"][img]./img/fotomin.gif[/img][/url][*][url="./img/fotomax1.jpg"][img]./img/fotomin.gif[/img][/url][/list]
<div id="bigfoto"></div>
</div>
</body>
lo script funziona bene(testato su IE6 E Opera 9.26, Firefox), se guardate il file Visimage.js ho tentato di usare un approccio oop(o almeno credo di averlo fattoCodice PHP:function visimage(){
function ddEvent(obj,ev,fn){
if(obj.addEventListener) {
obj.addEventListener(ev, fn, false);
} else if(obj.attachEvent) {
obj.attachEvent('on'+ev, fn);
} else {
if(typeof(obj['on'+ev])=='function'){
var f=obj['on'+ev];
obj['on'+ev]=function(){if(f)f();fn()}
}
else obj['on'+ev]=fn;
}
}
function CaricaFoto(obj,bigfoto){
var bigfoto = document.getElementById(bigfoto);
var foto = obj.getAttribute('href');
var title = obj.getAttribute('title');
bigfoto.innerHTML = "[img]"+foto+"[/img]<span class='descfoto'>"+title+"</span>";
}
this.init = function (miniature,bigfoto){
var container=document.getElementById(miniature);
var links=container.getElementsByTagName('a');
for(var k=0,l=links.length;k<l;k++){
links[k].onclick=function(){
CaricaFoto(this,bigfoto);
return false;
}
}
}
}
), nel tentativo di creare un codice pulito e facilmente riutilizzabile
non sono molto esperto quindi vi chiedo se il codice secondo voi è corretto ed inoltre volevo avere un chiarimento, il this deve essere usato quando si creano metodi(funzioni) o proprietà(variabili) pubbliche, utilizzabili fuori dalla funzione?
grazie![]()

), nel tentativo di creare un codice pulito e facilmente riutilizzabile
Rispondi quotando