Heim > Fragen und Antworten > Hauptteil
Wie im Bild gezeigt: Der Effekt, den ich möchte, ist, dass sich die Farbe beim Verschieben des Li von ul in Rot und beim Verschieben in Blau ändert.
Aber wenn ein bestimmtes Li ausgewählt ist (das heißt). , angeklickt), ich hoffe, dass dieses Li so lange bleibt, bis das nächste Li angeklickt wird. Es ist rot. Auch wenn die Maus erneut darüber fährt und das Entfernungsereignis ausgelöst wird, muss es immer noch rot bleiben, bis ein anderes Li angeklickt wird.
Das Folgende ist mein Code. Der Effekt dieses Codes kann nur sein, dass die Farbe nach dem Klicken, wenn das Li herausgezogen wird, blau bleibt. Wenn das angeklickte Li jedoch hinein- und herausgezogen wird, bleibt seine Farbe nicht erhalten rot und wird blau.
Kann mir jemand bei der Lösung helfen =-= Vielen Dank im Voraus
<ul class="h1">
<li>1</li>
<li>2</li>
<li>3</li>
<li>4</li>
<li>5</li>
</ul>
<script>
$('.h1 li').mouseenter(function(){
$(this).css({"background":"red"})
$(this).on("click",function(){
$('.h1 li').css({"background":"blue"})
$(this).css({"background":"red"})
$(this).mouseleave(function(){
$(this).css({"background":"red"})
})
})
}).mouseleave(function(){
$(this).css({"background":"blue"})
})
</script>
PHPz2017-05-18 10:51:41
css
.h1 li {
background-color: blue;
}
.h1 li:hover{
background-color: red;
}
.chosen {
background-color: red!important;
}
js:
$('.h1 li').click(function() {
$('.h1 li').removeClass('chosen');
$(this).addClass('chosen');
})
漂亮男人2017-05-18 10:51:41
谢邀.
HTML:
<ul class="h1">
<li class="bl">1</li>
<li class="bl">2</li>
<li class="bl">3</li>
<li class="bl">4</li>
<li class="bl">5</li>
</ul>
CSS:
.bl {
background-color: blue;
}
.bl:hover{
background-color: red;
}
.clk {
background-color: red;
}
JavaScript:
$('.h1>li').click(function() {
$('.clk').removeClass('clk').addClass('bl');
$(this).removeClass('bl').addClass('clk');
})
这样?