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

    Problema .each() , .width() ed height()

    Salve, dovrei ridimensionare tutte le immagini che hanno come classe 'sw' solo se la larghezza o l' altezza sono maggiori di 400px.

    Ho scritto così:

    codice:
    $(document).ready(function() {
    	$(".sw").each(function() {
    		if($(this).width() > 400) {
    			$(this).css("width","400px");
    		}
    		
    		if($(this).height() > 400) {
    			$(this).css("height","400px");
    		}	
    	});
    });
    Ma ridimensiona anche un' immagine che è 19x20, come mai? Forse width() ed height() funzionano solo nel caso in cui la larghezza è definita? Praticamente mi servirebbe da trovare la larghezza e l' altezza delle immagini con classe .sw , quindi avevo pensato a fare così a quanto pare non va anche perchè nell' each mettendo un alert con $(this).width() per tutte le immagini manda nell' alert "200".
    Social Network in costruzione.. Misto tra Twitter e Facebook.. Twitbook o facetter?

  2. #2
    Fai attenzione che nel momento in cui ondomready viene lanciato le immagini non sono necessariamente state già caricate. Se confidi nella dimensione dell'immagine stessa per verificarne la dimensione piuttosto che usare gli attributi width e height dell'elemento img allora all'ondomready le dimensioni non saranno disponibili. Se metti un alert ti mostra 200 perchè probabilmente l'immagine è display block e quindi la width è quella del padre.

    Prova con $(window).load invece che $(document).ready.
    max

    Silence is better than bullshit.
    @mmarcon
    jHERE, Maps made easy

  3. #3
    Ho usato (window).load ma non è cambiato nulla.

    In più le immagini si trovano direttamente le body, cioè appena si apre il body ci sono le immagini e solo esse, niente div o altre cose che potrebbero alterarne i dati.
    Social Network in costruzione.. Misto tra Twitter e Facebook.. Twitbook o facetter?

  4. #4
    Originariamente inviato da 0-c00l
    Ho usato (window).load ma non è cambiato nulla.

    In più le immagini si trovano direttamente le body, cioè appena si apre il body ci sono le immagini e solo esse, niente div o altre cose che potrebbero alterarne i dati.
    Posta un link al codice.
    max

    Silence is better than bullshit.
    @mmarcon
    jHERE, Maps made easy

  5. #5
    Scusami mxa, quanto sono sciocco!

    Mi ero dimenticato che avevo assegnato delle dimensioni fisse alla classe ahah

    Scusami ancora
    Social Network in costruzione.. Misto tra Twitter e Facebook.. Twitbook o facetter?

  6. #6
    Continuo qua come detto dai moderatori.

    Salve, sempre intento nel mio piccolo progettino ho trovato problemi con queste due funzioni: .width() ed .height().

    Infatti, su firefox tutto funziona perfettamente, mentre su google chrome credo non funzionino dato che mettendo una if in cui se il loro valore superi i 400 appare un alert, quest' alert su chrome non appare mentre su firefox si (funzionamento corretto: FF).

    E' un problema di GoogleChrome quindi? C' è un modo per ovviare?
    Social Network in costruzione.. Misto tra Twitter e Facebook.. Twitbook o facetter?

  7. #7
    Uhm, ho trovato questa funzione:

    codice:
    function getHeight(el,fn) {
        var img = new Image();
        img.onload = function() { fn(img.height); };
        img.src = el.attr("src");
    }
    per trovare l' altezza di un' immagine che andrà specificata nel primo campo e il secondo sarà la funzione di callback, ma è possibile trasformarla per far in modo che mettendo ad esempio:

    codice:
    var y = getHeight($(this));
    inserisca subito in "y" l' altezza? Sarebbe meglio
    Social Network in costruzione.. Misto tra Twitter e Facebook.. Twitbook o facetter?

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.