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:
Codice 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>
javascript:Visimage.js
Codice 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;
}
}
}
}
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 fatto
), 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