Javascript Jquery get element by class with hover -
i want create quiz example using jquery.however bit lost how css class hover on jquery. my css code following:
.right{ background-color: white; } .wrong { background-color: white; } .right:hover { background-color: yellow; }.wrong:hover { background-color: yellow; } using jquery change background colors of classes wrong , right green , red , after 1.5 seconds return them normal following code:
//change colors $('.right').click( function() { var $el = $(".wrong"), originalcolor = $el.css("background-color"); var $el2 = $(".wrong:hover"), hover = $el2.css("background-color:hover"); $('.wrong').css("background-color" , "red"); $('.right').css("background-color" , "green"); test(originalcolor,hover); }) async function test(originalcolor,hover){ await sleep(1500); $('.wrong').css("background-color" , originalcolor); $('.right').css("background-color" , originalcolor); $('.wrong:hover').css("background-color" , hover); $('.right:hover').css("background-color" , hover); } function sleep(ms){ return new promise(resolve => settimeout(resolve, ms)); } //change colors everything works fine except hover part.after first jquery click function background-color of hover lost.it looks $el2 = $(".wrong:hover") syntactically wrong.can on how chage code not lose background-color: yellow; on hover after first jquery function?? fiddle example: fiddle example
add/remove class instead of css
$('.right,.wrong').click( function() { var $el = $(".wrong"), originalcolor = $el.css("background-color"); var $el2 = $(".wrong:hover"), hover = $el2.css("background-color:hover"); $('.wrong').addclass("red"); $('.right').addclass("green"); test(originalcolor,hover); }) async function test(originalcolor,hover){ await sleep(1500); $('.wrong').removeclass("red"); $('.right').removeclass("green"); } function sleep(ms){ return new promise(resolve => settimeout(resolve, ms)); } div{ width:50%; height:40px; float:left; } .right{ background-color: white; } .wrong { background-color: white; } .right:hover { background-color: yellow; }.wrong:hover { background-color: yellow; } .red,.red:hover{ background-color: red; } .green,.green:hover{ background-color: green; } <script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script> <div class="right">right</div> <div class="wrong">wrong</div>
Comments
Post a Comment