Ciao a tutti,
sto realizzando un sito "gallery" agganciato ad un database e a php che, tramite query restituisce i risultati.
ho creato uno script javascript che al passaggio del mouse su una immagine (dopo 0.6 sec) mi apra un div nascosto.
Quando invece clicco sulla stessa immagine o sul div nascosto questo scompaia.
Mi sembra funzioni tutto regolarmente.
Adesso volevo fare in modo che questa funzione si avesse anche con gli ipad etc…
Ho trovato un esempio proprio su html sul come fare.
Mi funziona ma ho un problema legato al div nascosto che mi mostra perché, a differenza del browser del computer fisso, questo mostra sempre l'ultimo div nascosto della lista e non quello collegato alla foto in cui chiedo tale effetto.
Sapete dirmi dove sbaglio?
Posto il codice javascript
non riesco a trovare la soluzione anche se è sotto i miei occhi!!!Codice PHP:<script type="text/javascript">
var timer;
$(".opzioni").hover(function () {
},
function () {
clearTimeout(timer);
});
$(".prova").hover(function () {
var $this = $(this);
timer = setTimeout(function(){
index = $(".prova").index($this);
$($(".divNascosto").get(index)).show("fast");
}, 600);
},
function () {
clearTimeout(timer);
});
$(".prova").click(function () {
var $this = $(this);
timer = setTimeout(function(){
index = $(".divNascosto").index($this);
$($(".divNascosto").get(index)).hide("fast");
}, 0);
},
function () {
clearTimeout(timer);
});
$(".divNascosto").mouseleave(function () {
var $this = $(this);
timer = setTimeout(function(){
index = $(".divNascosto").index($this);
$($(".divNascosto").get(index)).hide("fast");
}, 0);
});
$(".divNascosto").click(function () {
var $this = $(this);
timer = setTimeout(function(){
index = $(".divNascosto").index($this);
$($(".divNascosto").get(index)).hide("fast");
}, 0);
});
<!-- OVER CON iPhone e iPad
if((navigator.userAgent.match(/iPhone/i)) || (navigator.userAgent.match(/iPod/i)) || (navigator.userAgent.match(/iPad/i))) {
$(".prova").bind("touchstart", function() {
var $this = $(this);
timer = setTimeout(function(){
index = $(".prova").index($this);
$($(".divNascosto").get(index)).show("fast");
}, 0);
},
function () {
clearTimeout(timer);
});
$(".prova").bind("touchend", function() {
var $this = $(this);
timer = setTimeout(function(){
index = $(".divNascosto").index($this);
$($(".divNascosto").get(index)).hide("fast");
}, 0);
});
}
</script>

Rispondi quotando