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

    jquery - array in ordine inverso

    Buongiorno a tutti!
    Premesso che sono un principiante per quel che riguarda javascript, ho la seguente esigenza

    Dato questo codice:
    codice:
    <div id="breadcrumbs">
     <span>Breadcrumb 1</span>  
     <span>Breadcrumb 2</span>  
     <span>Breadcrumb 3</span>  
     <span>Breadcrumb 4</span>
     <span>Breadcrumb 5</span>
     <span>Pagina Corrente</span>	
    </div>
    Vorrei (usando jquery) aggiungere una classe ad ogni span che rifletta il livello delle breadcumb...ma in ordine inverso, ovvero una cosa di questo genere.

    codice:
    <div id="breadcrumbs">
     <span class="last-5">Breadcrumb 1</span>  
     <span class="last-4">Breadcrumb 2</span>  
     <span class="last-3">Breadcrumb 3</span>  
     <span class="last-2">Breadcrumb 4</span>
     <span class="last-1">Breadcrumb 5</span>
     <span class="last-0">Pagina Corrente</span>	
    </div>
    Qualcuno può darmi una mano? Grazie!
    "This is the end, Clark... for both of us"

  2. #2
    Mi rispondo da solo:
    ho trovato questo simpatico esempio

    http://www.designchemical.com/blog/i...-using-jquery/

    che sono riuscito ad adattare alle mie esigenze
    "This is the end, Clark... for both of us"

  3. #3
    Utente di HTML.it L'avatar di Xinod
    Registrato dal
    Sep 2000
    Messaggi
    13,649
    puoi fare in tanti modi, per esempio
    codice:
    var selector=$('#breadcrumbs span');
    $(selector).each(function(i){$(this).addClass('last-'+(selector.size()-i))});
    o addirittura
    codice:
    $.fn.reverse=[].reverse;
    $('#breadcrumbs span').reverse().each(function(i){$(this).addClass('last-'+i)});
    e sicuramente qualcuno potrebbe suggerire altre alternative anche piu' performanti...
    ciao

  4. #4
    Originariamente inviato da Xinod
    puoi fare in tanti modi, per esempio
    codice:
    var selector=$('#breadcrumbs span');
    $(selector).each(function(i){$(this).addClass('last-'+(selector.size()-i))});
    o addirittura
    codice:
    $.fn.reverse=[].reverse;
    $('#breadcrumbs span').reverse().each(function(i){$(this).addClass('last-'+i)});
    e sicuramente qualcuno potrebbe suggerire altre alternative anche piu' performanti...
    ciao
    potrei anche sbagliarmi, ma il seguente codice
    codice:
    var selector=$('#breadcrumbs span');
    $(selector).each( [..] );
    è l'equivalente di
    codice:
    $($('#breadcrumbs span')).each( [..] );
    e quindi si può semplificare così

    codice:
    var selector=$('#breadcrumbs span');
    selector.each( [..] );
    inoltre il conteggio degli elementi dell'array (selector.size()) lo farei fuori dal loop, correggetemi se sto dicendo delle cavolate .

    Per il resto mi vengono in mente gli stessi esempi proposti da Xinod

  5. #5
    Utente di HTML.it L'avatar di Xinod
    Registrato dal
    Sep 2000
    Messaggi
    13,649
    sicuro, entrambi gli appunti sono sensati

    l' ho buttato giu' senza neanche rileggerlo

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.