Colorare link al click

  • Creatore Discussione Creatore Discussione Shyson
  • Data di inizio Data di inizio

Shyson

Utente Attivo
19 Ago 2012
1.179
1
38
Ho questo link che apre un popup jQuery. Ho bisogno di colorare il link di rosso quando è attivo, e quando lo chiudo deve tornare al colore originale.

PHP:
//Disclaimer
function disclaimer() {
   $(document).ready(function() {
     $(".flipM").click(function(){
     var id = $(this).attr("id");
   if($("#r" + id).css("display") == "none")
     $("#r" + id).slideDown("fast");
    else
   $("#r" + id).slideUp("fast");
    });
   });
  };

...


/* Disclaimer */
.flipM { 
    display:inline;
    font-size: 0.95em; color: #999;
    font-weight: 500; 
    cursor: pointer;
}
 
.flipM:hover {
    color: #0080ff;
}
 
.panelM {
    width: 600px; 
    height: auto;
    font-size: 1.2em; color: #d50202;
    margin: 0 auto;
    text-align: left;
    padding: 5px 5px 5px 5px;
    margin-top: -12px;
    display: none;
    border: 1px dashed green;
}

...

<script>disclaimer();</script>
<div id="2x" class="flipM"> Disclaimer</div>

<div id="r2x" class="panelM">Testo...</div>
 
Ultima modifica:
Duplicare le discussioni è vietato dal nostro regolamento
elimino l'altra
l'istruzione che ti serve è
Codice:
$(this).css("color","red");
 
Duplicare le discussioni è vietato dal nostro regolamento
elimino l'altra
l'istruzione che ti serve è
Codice:
$(this).css("color","red");

Ho messo così ma non si clicca più

//Disclaimer
function disclaimer() {
$(document).ready(function() {
$(".flipM").click(function(){
var id = $(this).attr("id");
if($("#r" + id).css("display") == "none")
$(flipM).css("color","red");
$("#r" + id).slideDown("fast");
else
$("#r" + id).slideUp("fast");
});
});
};
 
io ho scritto
Codice:
$(this).css("color","red");
non
Codice:
$(flipM).css("color","red");
 
devi mettere le istruzioni tra parentesi graffe
puoi ometterle solamente se dopo la if c'è una sola istruzione
 
Così non va, dove sbaglio?

PHP:
//Disclaimer 
function disclaimer() {
$(document).ready(function() {
                $(".flipM").click(function(){
                    var id = $(this).attr("id");
                   if($("#r" + id).css("display") == "none")
                   $(this).css("color","red") {
                        $("#r" + id).slideDown("fast");
                    else
                        $("#r" + id).slideUp("fast");
                        }
                });
            });
        };
 
l'apertura della parentesi va dopo la if e la chiusura dopo le due istruzioni
HTML:
<script src="http://code.jquery.com/jquery-latest.min.js" type="text/javascript"></script>
<script>   
    $(document).ready(function() {
        $(".flipM").click(function(){
            var id = $(this).attr("id");
            if($("#r" + id).css("display") == "none") {
                $(this).css("color","red");
                $("#r" + id).slideDown("fast");
            }else {
                $(this).css("color","black");
                $("#r" + id).slideUp("fast");
            }                    
        });
    });
</script>
<div id="2x" class="flipM"> Disclaimer</div>
<div id="r2x" style="display:none">contenuto disclaimer</div>
 
Non si clicca, ho messo così:

PHP:
function disclaimer() {
 $(document).ready(function() {
        $(".flipM").click(function(){
            var id = $(this).attr("id");
            if($("#r" + id).css("display") == "none") {
                $(this).css("color","red");
                $("#r" + id).slideDown("fast");
            }else {
                $(this).css("color","black");
                $("#r" + id).slideUp("fast");
            }                    
        });
    });    

...

<script>disclaimer();</script>


<div id="2x" class="flipM"> Disclaimer</div>
<div id="r2x" style="display:none">contenuto disclaimer</div>
 
anche se non capisco il motivo della funzione disclaimer(), a me il codice funzione anche come lo hai postato tu
HTML:
<script src="http://code.jquery.com/jquery-latest.min.js" type="text/javascript"></script>
<script>   
    function disclaimer() {
        $(document).ready(function() {
            $(".flipM").click(function(){
                var id = $(this).attr("id");
                if($("#r" + id).css("display") == "none") {
                    $(this).css("color","red");
                    $("#r" + id).slideDown("fast");
                }else {
                    $(this).css("color","black");
                    $("#r" + id).slideUp("fast");
                }                    
            });
        });    
    }
</script>
<script>disclaimer();</script>


<div id="2x" class="flipM"> Disclaimer</div>
<div id="r2x" style="display:none">contenuto disclaimer</div>
 
Ora funziona tutto, tranne l'hover. Cioè, l'hover funziona solo la prima volta, poi clicco il link e si apre il popup. Ma poi quando richiudo il popup l'hover non si colora più se ci passo sopra col mouse. Ricomincia a colorarsi se ricarico la pagina.

PHP:
.flipM:hover {
	color: #0080ff;
}
 
Ultima modifica:

Discussioni simili