Business
Jobs
  • About Us
  • Solutions
    • Job Postings
      Post your job and receive qualified candidates in 48h.
    • Candidate Assessments
      500+ technical and psychological tests, plus anti-fraud.
    • Headhunting
      Tailor-made executive search from start to finish.
    • Payroll + EOR
      Payroll dispersal and EOR across 15+ LATAM countries.
  • Pricing
  • Jobs

0

147
Views
onhover por defecto primer div activo en js

Aquí tengo varios div de forma predeterminada. Quiero mostrar el primer div y cuando no hay nada flotando, también se mostrará al menos cualquiera de un div.

¿Puede alguien sugerirme en la dirección correcta?

 $('[class^="cr-box"]').css("opacity", "0"); $('[class^="cr-icon"]').hover(function(i, e) { var id = $(this).attr('data-id'); var el = $('[class^="cr-box"]')[id - 1]; $(el).css("opacity", "1"); }, function(i, e) { var id = $(this).attr('data-id'); $('[class^="cr-icon"]').each(function(i, e) { if (id != $(e).attr('data-id')) { var el = $('[class^="cr-box"]')[id - 1]; $(el).css("opacity", "0"); } }); });
 <script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script> <div class="cr-wrap-icons"> <svg> <path class="cr-icon cr-icon-1" data-id="1" >icon 1</path> <img class="cr-icon cr-icon-2" data-id="2" >icon 2</img> <path class="cr-icon cr-icon-1" data-id="1" >icon 1</path> <path class="cr-icon cr-icon-3" data-id="3" >icon 3</path> <img class="cr-icon cr-icon-4" data-id="4" >icon 4</img> </svg> </div> <div class="cr-wrap-box"> <div class="cr-wrap"> <div class="cr-box cr-box-1 active" >test1</div> </div> <div class="cr-wrap"> <div class="cr-box cr-box-2" >test2</div> </div> <div class="cr-wrap"> <div class="cr-box cr-box-3" >test3</div> </div> <div class="cr-wrap"> <div class="cr-box cr-box-4" >test4</div> </div> </div>

about 4 years ago · Juan Pablo Isaza
1 answers
Answer question

0

Si pudiera entender su necesidad, desea mostrar de forma predeterminada el primer div, luego, al pasar el ícono, desea mostrar su div relevante, y mantenerlo mostrado después de dejar de pasar los íconos,

Por lo tanto, es necesario crear una clase active que haga que el div sea visible,

 /* by default make all divs hidden*/ div[class*="cr-box"] { visibility: hidden; } .active { visibility:visible !important; };

luego agregue esto último una vez que pase el mouse sobre un ícono al div relevante (por data-id ) como se muestra a continuación:

 $('[class^="cr-icon"]').hover(function(i, e) { var id = $(this).attr('data-id'); // hide all divs $('[class^="cr-box"]').removeClass("active"); // show relevant hovered icon's div using data id var el = $(`[class^="cr-box-${id}"]`).addClass("active"); });

Vea el siguiente fragmento:

 $('[class^="cr-icon"]').hover(function(i, e) { var id = $(this).attr('data-id'); $('[class^="cr-box"]').removeClass("active"); var el = $(`[class^="cr-box-${id}"]`).addClass("active"); });
 div[class*="cr-box"] { visibility: hidden; } .active { visibility:visible !important; };
 <script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script> <div class="cr-wrap"> <path class="cr-icon cr-icon-1" data-id="1" >icon 1</path> <img class="cr-icon cr-icon-2" data-id="2" alt="icon 2" /> <path class="cr-icon cr-icon-1" data-id="1" >icon 1</path> <path class="cr-icon cr-icon-3" data-id="3" >icon 3</path> <img class="cr-icon cr-icon-2" data-id="2" alt="icon 2" /> <path class="cr-icon cr-icon-3" data-id="4" >icon 4</path> <path class="cr-icon cr-icon-3" data-id="5" >icon 5</path> <path class="cr-icon cr-icon-3" data-id="6" >icon 6</path> </div> <div class="cr-wrap"> <div class="cr-box-1 active" >test1</div> <div class="cr-box-2">test2</div> <div class="cr-box-3">test3</div> <div class="cr-box-4">test4</div> <div class="cr-box-5">test5</div> <div class="cr-box-6">test6</div> </div>

about 4 years ago · Juan Pablo Isaza Report
Answer question
Find remote jobs

Discover the new way to find a job!

Top jobs
Top job categories
Business
Post vacancy Pricing Sales
Legal
Terms and conditions Privacy policy
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Show me some job opportunities
There's an error!