Visualizzazione dei risultati da 1 a 8 su 8
  1. #1

    Thumbnails e Javascript

    Premetto che non sono pratico di javascript, anche se ne capisco il codice.
    Ho questo codice per le thumbnail:
    codice:
    <a href="img/zeus.jpg" onclick="PrevFoto('img/zeus.jpg');return(false)" target="_blank">
    [img]th/zeus.jpg[/img]
    </a>
    Che ho preso da questo bellissimo sito.
    Qui di seguito poi lo script necessario:
    codice:
    function PrevFoto(img){
     foto1= new Image();
     foto1.src=(img);
     Controlla(img);
    }
    function Controlla(img){
     if((foto1.width!=0)&&(foto1.height!=0)){
      viewFoto(img);
     }
     else{
      funzione="Controlla('"+img+"')";
      intervallo=setTimeout(funzione,100);
     }
    }
    function viewFoto(img){
     largh=foto1.width+20;
     altez=foto1.height+25;
     stringa="width="+largh+",height="+altez;
     finestra=window.open(img,"",stringa);
    }
    Il fatto è che vorrei che il javascript funzionasse solo per risoluzione maggiori di 800x600

    Ho visto che, lasciando intanto lo script, basta scrivere al link questo:
    codice:
    onclick="if(screen.width>800){PrevFoto('img/zeus.jpg')}"
    Ho insomma messo un if e tolto il return.

    Il punto è che lo script ce l'ho in un file apparte che è richiamato dalle pagine, mentre i link sono infiniti, e sono dentro le migliaia di pagine che ho.

    Come posso lasciare "onclick="PrevFoto('img/zeus.jpg');return(false)" e cambiare solo lo script?

  2. #2
    function PrevFoto(img){
    if(screen.width>800){
    foto1= new Image();
    foto1.src=(img);
    Controlla(img);
    }
    }
    ...
    ...
    ... onclick="PrevFoto('img/zeus.jpg');return false"


  3. #3
    Eh, appunto, è la cosa più ovvia che possa venire in mente.
    Eppure, a 800 o inferiori quando ci clicki non succede nulla.

    Io penso che bisogna aggiungere un else dopo l'if che dica "annulla allora l'onclick" o roba simile. Per questo vi chiedevo aiuto. Ho provato a mettere un return(false) come else, ma nada.


  4. #4
    Eppure, a 800 o inferiori quando ci clicki non succede nulla.
    Ma non e' proprio quello che avevi chiesto :master:

  5. #5
    Originariamente inviato da fagiano
    Ma non e' proprio quello che avevi chiesto :master:
    Sì ma non succede nulla nel senso che non va nemmeno il link normale!

    Se io metto nell'onclick l'if, a 800 e inferiori parte il normalissimo link con target="_blank", mentre in quel metodo non va assolutamente niente a 800 e inferiori!

    È questo il dilemma!

  6. #6
    Edit

  7. #7
    Raga, ho provato anche così
    codice:
    if (screen.width>800) {
    
    function PrevFoto(img){
     foto1= new Image();
    ...
    ...
    ...
     stringa="width="+largh+",height="+altez;
     finestra=window.open(img,"",stringa);
    }
    
    }
    E curiosamente funziona tutto perfettamente fon Firefox, mentre con IE mi da lo script anche a 800 e inferiori, in pratica non legge l'if.

    Non so proprio come fare, help

  8. #8
    Allora, ho trovato una soluzione al tutto:
    codice:
    <a href="img/zeus.jpg" onclick="PrevFoto(href);if(w>800){return(false);}" target="_blank">
    [img]th/zeus.jpg[/img]
    </a>
    E questo nello script:
    codice:
    var w=screen.width
    function PrevFoto(img){
     if(w>800){
      foto1= new Image();
      foto1.src=(img);
      Controlla(img);
     }
     else{
      return(null);
     }
    }
    function Controlla(img){
     if((foto1.width!=0)&&(foto1.height!=0)){
      viewFoto(img);
     }
     else{
      funzione="Controlla('"+img+"')";
      intervallo=setTimeout(funzione,100);
     }
    }
    function viewFoto(img){
     largh=foto1.width+20;
     altez=foto1.height+25;
     stringa="width="+largh+",height="+altez;
     finestra=window.open(img,"",stringa);
    }
    Questo è l'unico modo per far andare tutto in maniera giusta.

    Ma proprio nun ce sta un modo per cavare l'"if(w>800){return(false);}" e metterlo nello script?

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2025 vBulletin Solutions, Inc. All rights reserved.