Visualizzazione dei risultati da 1 a 7 su 7

Discussione: getelement diverso da

  1. #1
    Utente di HTML.it
    Registrato dal
    Jun 2014
    Messaggi
    194

    getelement diverso da

    Domanda, esiste una funzione o comunque una maniera per indicare tutti gli elementi che non hanno un certo id?
    Qualcosa del genere:
    codice:
    document.getElementById("==! a").addEventListener( 'click' , funzione );

  2. #2
    Quote Originariamente inviata da Ciakko Visualizza il messaggio
    Domanda, esiste una funzione o comunque una maniera per indicare tutti gli elementi che non hanno un certo id?
    Qualcosa del genere:
    codice:
    document.getElementById("==! a").addEventListener( 'click' , funzione );
    Fai la verifica all'interno della funzione.
    Se ha il dato id, return;

  3. #3
    Utente di HTML.it
    Registrato dal
    Jun 2014
    Messaggi
    194
    Grazie della risposta. Proverò appena posso, però intanto ti espongo un dubbio.
    Non conosco molto JS, me la cavo più in PHP. Mi suggerisci di far avviare la funzione solo se non ha quel determinato id, nel mio caso $a. Io sto usando la funzione "addEventListener" per intercettare il click di un'ancora. Il sistema inline nel mio caso non funzionava, così come far partire la funzione direttamente al click "$('#myDiv').click(function()". Appunto perché non conosco bene JS mi sono affidato ai consigli che ho trovato sul web.
    A questo punto credo di essere obbligato a definire la variabile in ascolto. Dico una cavolata?

  4. #4
    Utente di HTML.it
    Registrato dal
    Jun 2014
    Messaggi
    194
    Ah.. chiedo scusa, senza la parte di funzione forse il discorso è campato in aria:

    codice:
     function unCheck(){
            $('#upprodotti[value="a"]').prop('checked', true);
         };
    
    window.onload = function(){
      document.getElementById("buttonclick1").addEventListener( 'click' , unCheck );

  5. #5
    Quello che ti suggerisco è di verificare *all'interno della funzione*, tramite "this", se l'elemento cliccato ha o meno l'id che vuoi escludere.

  6. #6
    Utente di HTML.it
    Registrato dal
    Jun 2014
    Messaggi
    194
    Dunque, con l'utilizzo di this non ci sono riuscito, non so come metterlo giu correttamente; ma sono comunque arrivato a questo:

    codice:
    document.addEventListener("click", function(){
       if(!$(event.target).parents("#button3").is("#button3"))
    {
        
        if( !$('#upprodotti').prop('checked') ){
            $('#upprodotti').prop('checked',true);
        } else {
            $('#upprodotti').prop('checked',false);
        }
    
    }
    });
    Questo è il restante codice:
    codice HTML:
    <input type="radio" name="apriprodotti" id="upprodotti" />
    <input type="radio" name="apriprodotti" id="downprodotti" />
    <div id="menu">
                <ul>
                    <li id="button1" class="bottone scendi attuale"><a href="#home" title="Vai alla Homepage" >Home</a></li>
                    <li id="button2" class="bottone scendi"><a href="#chisiamo" title="Scopri chi siamo" >Chi siamo</a></li>
                    <li id="button3" class="bottone">Prodotti
                        <label for="upprodotti" id="menuup"><img src="images/mascherina.png" alt="Chiudi" /></label>
                        <label for="downprodotti" id="menudown"><img src="images/mascherina.png" alt="Apri" /></label>
                    </li>
                    <li id="button4" class="bottone scendi"><a href="#contatti" title="Contattaci" >Contatti</a></li>
                </ul>    
        </div>
    codice:
    #downprodotti:checked ~ #wrapper #menutendina {top:10em}
    #downprodotti:checked ~ #wrapper #header #menu #menudown {display:none}
    #upprodotti:checked ~ #wrapper #menutendina {top:-12em;}

    Funziona, nel senso che ogni click non applicato all'id button3 attiva il checked dell'input: input che fa partire la transizione css per lo scorrimento della tendina, in questo caso per la risalita.
    Il problema è che resta su checked l'id upprodotti. Se clicco per far scendere la tendina questa scende un istante ma il check viene subito ricommutato. Non capisco perchè.

  7. #7
    Utente di HTML.it
    Registrato dal
    Jun 2014
    Messaggi
    194
    Risolto!!
    Tenevo in considerazione l'id sbagliato, quello del campo label invece che dell'input collegato.
    Il risultato è questo:
    codice:
    document.addEventListener("click", function(event){
        if(!$(event.target).is("#downprodotti"))
        {
        if(!$('#upprodotti').prop('checked')){
            $('#upprodotti').prop('checked',true);
        } else {
            $('#upprodotti').prop('checked',false);
        };
        if($(event.target).is("#upprodotti"))
        {
        if(!$('#upprodotti').prop('checked')){
            $('#upprodotti').prop('checked',true);
        } else {
            $('#upprodotti').prop('checked',false);
        };
        }
    }
    });
    Se c'è qualche altra strada o qualche consiglio/correzione è sempre bene acceta.
    Grazie

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.