Kalagar Kalagar - 6 months ago 14
HTML Question

jquery fast hover issue

I have a sidebar that have an issue. the issue is that
when i hover mouse over the sidebar slowly it work correctly, but when i move the mouse fast on it, it will mess. how can i fix it?

this is my HTML:

<div class="sidebar">
<ul class="insidenav">
<li class="purple">
<a href="" class="link purple"><span>ابر پژوهیار</span></a>
<ul style="display: none;" class="insidenavsubmenu">
<li><a href="">کتابخانه من</a></li>
<li><a target="_blank" href="">اطلاعات کاربر</a></li>
<li><a href="">مشخصات کاربر</a></li>
<li><a href="">اطلاعات حساب</a></li>
<li><a target="_blank" href="">تغیر کلمه عبور</a></li>
<li><a href="">خروج</a></li>
</ul>
</li>
<li class="green">
<a href="" class="link green">
<span>فراداده‌های موضوعی</span>
</a>
</li>
<li class="blue">
<a href="" class="link blue">
<span>استناددهی آنلاین</span>
</a>
</li>
<li class="darkorange">
<a class="link darkorange"><span>دانشنامه استناددهی</span></a>
<ul style="display: none;" class="insidenavsubmenu">
<li><a href="">همزمان‌سازی</a></li>
<li><a href="">شیوه نگارش مقاله</a></li>
<li><a href="">شیوه نگارش پایان نامه</a></li>
<li><a href="">استناددهی</a></li>
<li><a href="">بیشتر بدانیم...</a></li>
<li><a href="">مثال های استناددهی</a></li>
</ul>
</li>
<li class="orange">
<a href="" class="link orange"><span>خرید آنلاین</span></a>
<ul style="display: none;" class="insidenavsubmenu">
<li><a target="_blank" href="">خرید و دریافت پستی</a></li>
<li><a href="">خرید و دریافت آنلاین</a></li>
<li><a target="_blank" href="">خرید «پژوهیار» از دیجی‌کالا</a></li>
</ul>
</li>
<li class="red">
<a class="link red"><span>کارگاه‌های آموزشی</span></a>
<ul style="display: none;" class="insidenavsubmenu">
<li><a href="">کارگاه‌های آموزشی برگزار شده</a></li>
<li><a href="">شرایط کارگاه‌های آموزشی</a></li>
<li>
<a>ثبت نام</a>
<ul class="dubinsidenavsubmenu">
<li><a href="">فرم ثبت نام تربیت مدرس</a></li>
<li><a href="">فرم ثبت نام کارگاه سازمانی</a></li>
<li><a href="">فرم ثبت نام کارگاه عمومی</a></li>
</ul>
</li>
</ul>
</li>
<li class="lightgreen">
<a class="link lightgreen"><span>شبکه مدرسان</span></a>
<ul style="display: none;" class="insidenavsubmenu">
<li><a href="">استان‌های فعال</a></li>
<li><a href="">رزومه مدرسان</a></li>
<li><a href="">شرایط جذب مدرس</a></li>
</ul>
</li>
<li class="darkbrown">
<a class="link darkbrown"><span>سفارشی‌سازی</span></a>
<ul class="insidenavsubmenu">
<li><a href="">درج شیوه‌نامه در نرم‌افزار</a></li>
<li>
<a href="">
حمایت از وبگاه‌ها
</a>
</li>
<li>
<a href="">
درج کتابخانه موضوعی
</a>
</li>
</ul>
</li>
</ul>
</div>


and this is my js:

jQuery(window).load(function() {
$('ul.insidenav > li').hover(function () {
if ($(this).find('ul.insidenavsubmenu').length > 0) {
$(this).find('ul.insidenavsubmenu').slideDown('1000');
$(this).addClass('arrow-down');
}
},function() {
if ($(this).find('ul.insidenavsubmenu').length > 0) {
$(this).find('ul.insidenavsubmenu').slideUp();
$(this).removeClass('arrow-down');
}
});
});

jQuery(window).load(function() {
$('ul.insidenavsubmenu > li').hover(function() {
if ($(this).find('ul.dubinsidenavsubmenu').length > 0) {
$(this).find('ul.dubinsidenavsubmenu').slideDown('1000');
$(this).addClass('arrow-down');
}
},function () {
if ($(this).find('ul.dubinsidenavsubmenu').length > 0) {
$(this).find('ul.dubinsidenavsubmenu').slideUp();
$(this).removeClass('arrow-down');
}
});
});


this is my css:

.sidebar {
width: 18.75em;
height: 200px;
padding: 1.875em 0 1.375em 0;
float: right;
display: table;
}

.sidebar ul.insidenav {margin-bottom: 5px;display: inline;}
.sidebar ul.insidenav li.purple {background-color: #9b59b6;}
.sidebar ul.insidenav li.green {background-color: #6fba45;}
.sidebar ul.insidenav li.blue {background-color: #38afe2;}
.sidebar ul.insidenav li.darkorange {background-color: #e8a061;}
.sidebar ul.insidenav li.orange {background-color: #f1c40f;}
.sidebar ul.insidenav li.red {background-color: #e65947;}
.sidebar ul.insidenav li.lightgreen {background-color: #1ac98f;}
.sidebar ul.insidenav li.darkbrown {background-color: #a07e95;}
.sidebar ul.insidenav li.other1 {background-color: #3E5F8A;}
.sidebar ul.insidenav li.other2 {background-color: #3E5F8A;}
.sidebar ul.insidenav li.other3 {background-color: #3E5F8A;}
.sidebar ul.insidenav li ul.insidenavsubmenu{
color: #fff;
display: none;
margin-right: 65px;
padding-bottom: 5px;
}
.sidebar ul.insidenav li ul.insidenavsubmenu li a{color: #fff;cursor: pointer;font: 8pt IRANSans;}
.sidebar ul.insidenav li ul.insidenavsubmenu li ul.dubinsidenavsubmenu{
color: #fff;
display: none;
margin-right: 15px;
padding-bottom: 5px;

}
.sidebar ul.insidenav li ul.insidenavsubmenu li ul.dubinsidenavsubmenu li a{color: #fff;}

Answer

Here is the example that working properly.

jQuery(window).load(function() {
  $('ul.insidenav > li').hover(function(e) {
    if ($(this).find('ul.insidenavsubmenu').length > 0) {
      $(this).find('ul.insidenavsubmenu').stop(true).slideDown('1000');
      $(this).addClass('arrow-down');
    }
  }, function() {
    if ($(this).find('ul.insidenavsubmenu').length > 0) {
      $(this).find('ul.insidenavsubmenu').stop(true).slideUp();
      $(this).removeClass('arrow-down');
    }
  });
});

jQuery(window).load(function() {
  $('ul.insidenavsubmenu > li').hover(function(e) {
    if ($(this).find('ul.dubinsidenavsubmenu').length > 0) {
      $(this).find('ul.dubinsidenavsubmenu').stop(true).slideDown('1000');
      $(this).addClass('arrow-down');
    }
  }, function() {
    if ($(this).find('ul.dubinsidenavsubmenu').length > 0) {
      $(this).find('ul.dubinsidenavsubmenu').stop(true).slideUp();
      $(this).removeClass('arrow-down');
    }
  });
});
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<div class="sidebar">
  <ul class="insidenav">
    <li class="purple">
      <a href="" class="link purple"><span>ابر پژوهیار</span></a>
      <ul style="display: none;" class="insidenavsubmenu">
        <li><a href="">کتابخانه من</a>
        </li>
        <li><a target="_blank" href="">اطلاعات کاربر</a>
        </li>
        <li><a href="">مشخصات کاربر</a>
        </li>
        <li><a href="">اطلاعات حساب</a>
        </li>
        <li><a target="_blank" href="">تغیر کلمه عبور</a>
        </li>
        <li><a href="">خروج</a>
        </li>
      </ul>
    </li>
    <li class="green">
      <a href="" class="link green">
        <span>فراداده‌های موضوعی</span>
      </a>
    </li>
    <li class="blue">
      <a href="" class="link blue">
        <span>استناددهی آنلاین</span> 
      </a>
    </li>
    <li class="darkorange">
      <a class="link darkorange"><span>دانشنامه استناددهی</span></a>
      <ul style="display: none;" class="insidenavsubmenu">
        <li><a href="">همزمان‌سازی</a>
        </li>
        <li><a href="">شیوه نگارش مقاله</a>
        </li>
        <li><a href="">شیوه نگارش پایان نامه</a>
        </li>
        <li><a href="">استناددهی</a>
        </li>
        <li><a href="">بیشتر بدانیم...</a>
        </li>
        <li><a href="">مثال های استناددهی</a>
        </li>
      </ul>
    </li>
    <li class="orange">
      <a href="" class="link orange"><span>خرید آنلاین</span></a>
      <ul style="display: none;" class="insidenavsubmenu">
        <li><a target="_blank" href="">خرید و دریافت پستی</a>
        </li>
        <li><a href="">خرید و دریافت آنلاین</a>
        </li>
        <li><a target="_blank" href="">خرید «پژوهیار» از دیجی‌کالا</a>
        </li>
      </ul>
    </li>
    <li class="red">
      <a class="link red"><span>کارگاه‌های آموزشی</span></a>
      <ul style="display: none;" class="insidenavsubmenu">
        <li><a href="">کارگاه‌های آموزشی برگزار شده</a>
        </li>
        <li><a href="">شرایط کارگاه‌های آموزشی</a>
        </li>
        <li>
          <a>ثبت نام</a>
          <ul class="dubinsidenavsubmenu">
            <li><a href="">فرم ثبت نام تربیت مدرس</a>
            </li>
            <li><a href="">فرم ثبت نام کارگاه سازمانی</a>
            </li>
            <li><a href="">فرم ثبت نام کارگاه عمومی</a>
            </li>
          </ul>
        </li>
      </ul>
    </li>
    <li class="lightgreen">
      <a class="link lightgreen"><span>شبکه مدرسان</span></a>
      <ul style="display: none;" class="insidenavsubmenu">
        <li><a href="">استان‌های فعال</a>
        </li>
        <li><a href="">رزومه مدرسان</a>
        </li>
        <li><a href="">شرایط جذب مدرس</a>
        </li>
      </ul>
    </li>
    <li class="darkbrown">
      <a class="link darkbrown"><span>سفارشی‌سازی</span></a>
      <ul class="insidenavsubmenu">
        <li><a href="">درج شیوه‌نامه در نرم‌افزار</a>
        </li>
        <li>
          <a href="">
                            حمایت از وبگاه‌ها
                        </a>
        </li>
        <li>
          <a href="">
                            درج کتابخانه موضوعی                                     
                        </a>
        </li>
      </ul>
    </li>
  </ul>
</div>