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

    cambiare SRC a determinate immagini?

    allora ragazzi sparse per una pagina ho delle immagini a cui necessito di cambiare il proprio src..

    c'è un modo di "prendere" tutte le immagini che abbiano un mio determinato attributo all'interno?

    Io avevo pensato di aggiungere l'attributo newSrc cosi:

    codice:
    [img]oldImg.jpg[/img]
    ora dopo un determinato evento vorrei poter scorrere tutte le immagini che hanno quell'attributo nella mia pagina e sostituire lo src....

    c'è un modo? document.getElementByAttr?

  2. #2
    Potresti creartela tu:

    codice:
    document.getElementsByAttr = function (myAttr) {
        var allElements = (document.getElementsByTagName)?document.getElementsByTagName('*'):document.all;
        var myElements = new Array();
        for (i=0; i<allElements.length; i++) {
            if (allElements[i].hasAttribute(myAttr)) {
                myElements.push(allElements[i]);
            }
        }
        return myElements;
    }
    Michele
    King Of The Kill

  3. #3
    molto interessante

    non sapevo della funzione hasAttribute


    a questo punto per scorrere tutte le immagini si potrebbe fare cosi:

    codice:
    var imgs = document.getElementsByTagName("img");  
      
      for(i=0;i<imgs.length; i++) {
        if (imgs[i].hasAttribute('newSrc'))
         // Cambia src
      }
    }
    che ne dici?

  4. #4
    Se devi lavorare solo con le immagini, mi sembra perfetto!

    Ah, ho modificato la funzione che ti ho scritto prima, avevo messo 'newSrc' invece che il parametro myAttr all'interno dell'if... sai, la fretta...
    Michele
    King Of The Kill

  5. #5
    forse è abbastanza if (img[i].newSrc) senza usare hasAttribute, ma sui browser un po' datati magari non funziona...
    Michele
    King Of The Kill

  6. #6
    hmmm sai mica perchè IE (8) mi da un errore?

    dice




    Messaggio: Proprietà o metodo non supportati dall'oggetto
    Linea: 74
    Carattere: 3

    la linea è:
    codice:
    if (imgs[i].hasAttribute('newSrc'))


    inutile dire che con chrome e ff tutto funzia alla grande


    forse devo utilizzare getAttribute per risolvere il rpbolem?
    http://msdn.microsoft.com/en-us/library/ms536429(VS.85).aspx

  7. #7
    ora sto utilizzando questo codice e sembra funzionare bene:

    codice:
    	var imgs = document.getElementsByTagName("img");  
    	var newsrc;
    	
    	for(i=0;i<imgs.length; i++) {
    		if ( (newsrc = imgs[i].getAttribute('newSrc')) != null )
    			imgs[i].src = newsrc;
    		
    	}
    che dici va bene?


    certo che fa veramente ribrezzo scrivere qualcosa in javascript per colpa di tutti questi problemi

  8. #8
    Non mi convince dal punto di vista "teorico", ma se da quello pratico funziona, vai tranquillo ... almeno per ora!
    Purtroppo ora sto uscendo e nei prossimi giorni sarò via, quindi ti potrò rispondere con calma lunedì.
    Concettualmente, comunque, non mi piace molto perché con getAttribute tu vai a prendere l'attributo newSrc senza sapere se l'attributo esiste.
    E' come dire: prendo l'ombrello e poi controllo se ho in mano qualcosa di NULLO, invece che verificare prima l'esistenza dell'ombrello e poi prenderlo anche se NULLO (quella poi è una scelta ).

    Ciao ciao e buon fine settimana!
    Michele
    King Of The Kill

  9. #9
    Originariamente inviato da KingOfTheKill
    Non mi convince dal punto di vista "teorico", ma se da quello pratico funziona, vai tranquillo ... almeno per ora!
    Purtroppo ora sto uscendo e nei prossimi giorni sarò via, quindi ti potrò rispondere con calma lunedì.
    Concettualmente, comunque, non mi piace molto perché con getAttribute tu vai a prendere l'attributo newSrc senza sapere se l'attributo esiste.
    E' come dire: prendo l'ombrello e poi controllo se ho in mano qualcosa di NULLO, invece che verificare prima l'esistenza dell'ombrello e poi prenderlo anche se NULLO (quella poi è una scelta ).

    Ciao ciao e buon fine settimana!

    ciao, concordo che non mi piace neanche a me, ma come ti dicevo IE fa errore sul hasAttribute


    comunque quando torni se trovi un'altra soluzione migliore mi fai un piacere

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 © 2024 vBulletin Solutions, Inc. All rights reserved.