2014-11-16 3 views
-3

Я знаю, что этот код уже невелик, но мне нужна помощь в его оптимизации, поскольку я чувствую, что не достаточно jquery, чтобы сделать этот код более эффективным. Поэтому идея заключается в том, когда вы наводите курсор на #desno, #loginbox появляется, и когда вы наводите на него курсор, он продолжает отображаться. Он получает скрыт, когда мышь покидает как #desno и #loginboxОптимизация скрытия и отображения элементов html

<script type="text/javascript" src="http://code.jquery.com/jquery-1.11.1.min.js"></script> 

<script type="text/javascript"> 
    $(document).ready(
     function() { 
      $("#desno").mouseover(function() { 
       $("#loginbox").fadeIn("fast"); 
      }); 
      $("#desno").mouseout(function() { 
       $("#loginbox").hide(); 
      }); 
      $("#loginbox").mouseover(function() { 
       $("#loginbox").show(); 
      }); 
      $("#loginbox").mouseout(function() { 
       $("#loginbox").hide(); 
      }); 
     }); 
</script> 

Да, любая помощь будет оценена. Мне также понравилось бы, если бы вы объяснили, что и как вы это сделали, и каков был процесс размышлений.

+0

На самом деле этот код лучше, чем использование функций toggle(). Иногда toggle может получить триггер неправильно, вы будете иметь oppsoite эффект при входе с курсором мыши. Храните его как есть и используйте mouseenter – gskema

+0

@ GytisŠk Возможно, функция 'hover' jQuery может быть полезна, но мне нравится мой ответ CSS = 3 –

+0

' $ ("# desno, # loginbox"). Mouseout (... ' – charlietfl

ответ

0
$(document).ready(
    function() { 
     $("#desno,#loginbox").mouseover(function() { 
      $("#loginbox").show(); 
     }); 
     $("#desno,#loginbox").mouseout(function() { 
      $("#loginbox").hide(); 
     }); 
    }); 

Я ответил своим собственным вопросом благодаря вам, ребята.

1

Попробуйте изменить шрифт вашего редактора на меньший размер.


Я буду считать, что #loginbox является дочерним #desno и дать вам это:

#loginbox {display:none} 
 
#desno:hover #loginbox {display:block}
<div id="desno"> 
 
    I am desno 
 
    <div id="loginbox">I am loginbox</div> 
 
</div>

Успехов получая ничего меньшего, чем это.

+0

Я пытаюсь использовать jquery: D altho css будет действительным вариантом, но я могу уже пытаюсь научиться jquery и использовать его в этом проекте, над которым я работаю. Спасибо, кстати. – HVSHBROWN

+1

@HVSHBROWN Я бы сказал, что если вы можете сделать это в CSS, то вам не следует делать это в jQuery. jQuery значительно медленнее. –

Смежные вопросы