Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/475.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 如何使元素在悬停时处于活动状态,并在im悬停在另一个特定div上时保持活动状态_Javascript_Jquery_Html_Css_Twitter Bootstrap - Fatal编程技术网

Javascript 如何使元素在悬停时处于活动状态,并在im悬停在另一个特定div上时保持活动状态

Javascript 如何使元素在悬停时处于活动状态,并在im悬停在另一个特定div上时保持活动状态,javascript,jquery,html,css,twitter-bootstrap,Javascript,Jquery,Html,Css,Twitter Bootstrap,我有一个带有类别的菜单栏, 当我将鼠标悬停在某个类别上时,它下面会出现一个带有子类别的大下拉列表 我已经创建了它,你可以在这里看到它 现在,当我将鼠标悬停在类别上时,其背景将变为灰色, 当我将光标向下移动到子类别下拉列表时,类别上的灰色背景消失了 我想找到一种方法,使类别背景在悬停时变成灰色, 然后当我将光标移动到“子类别”下拉列表时, 我希望类别保持在灰色背景中 当我将光标移到子类别下拉框外时,类别背景将消失 我想知道实现这一目标的最佳方式是什么 我认为,使用js或jquery,我们可以使类别

我有一个带有类别的菜单栏, 当我将鼠标悬停在某个类别上时,它下面会出现一个带有子类别的大下拉列表

我已经创建了它,你可以在这里看到它

现在,当我将鼠标悬停在类别上时,其背景将变为灰色, 当我将光标向下移动到子类别下拉列表时,类别上的灰色背景消失了

我想找到一种方法,使类别背景在悬停时变成灰色, 然后当我将光标移动到“子类别”下拉列表时, 我希望类别保持在灰色背景中

当我将光标移到子类别下拉框外时,类别背景将消失

我想知道实现这一目标的最佳方式是什么

我认为,使用js或jquery,我们可以使类别在悬停时处于活动状态,并在光标位于“子类别”下拉列表上时使其保持活动状态,但在光标移出下拉框时使其处于非活动状态

关于如何解决这个问题的任何想法,或者您是否建议使用不同的方法来实现它。

添加类名。活动 悬停时,将样式名称添加到.services快捷方式

<style>
.services-shortcut {
    -webkit-transition: background-color 500ms linear 200ms;
    -o-transition: background-color 500ms linear 200ms;
    transition: background-color 500ms linear 200ms;

}
.services-shortcut:hover,
.services-shortcut.active {
    color: #555;
    background: none repeat scroll 0% 0% #ddd;
}
</style>

<script>
jQuery('div.dropdown').hover(function() {
    jQuery(this).find('.services-shortcut').addClass('active');
    jQuery(this).find('.dropdown-menu').stop(true, true).delay(200).fadeIn(500);
}, function() {
    jQuery(this).find('.services-shortcut').removeClass('active');
    jQuery(this).find('.dropdown-menu').stop(true, true).delay(200).fadeOut(500);
});
</script>
试试这个:

CSS:

HTML:


请务必查看jQuery文档中有关$.hover和css功能的内容。您认为我想到的方法可以实现这一点吗?或者您是否建议使用更好的方法,例如jQuery中的.mouseover函数?我正在尝试使.service快捷方式在经过一定的延迟后变为活动状态,类似于我添加的下拉菜单。延迟(200).fadeIn(500)在这个.addClass('active')之后,但它不起作用。有什么想法吗?–谢谢,这非常有效,我使用了第一种方法。我正在尝试使.service快捷方式在某种延迟后变为活动状态,类似于我添加的下拉列表。delay(200).fadeIn(500)在这个.addClass('active')之后,但它不起作用。有什么想法吗?
jQuery('div.dropdown').on(
    'mouseenter', function () {
        jQuery(this).find('.services-shortcut').addClass('active');
        jQuery(this).find('.dropdown-menu').stop(true, true).delay(200).fadeIn(500);
    },
    'mouseleave', function () {
        jQuery(this).find('.services-shortcut').removeClass('active');
        jQuery(this).find('.dropdown-menu').stop(true, true).delay(200).fadeOut(500);
    }
);
.category-overlay{
    width:1190px;
    height:90px;
    background:#ddd;
    margin-top:30px;
    }

    .services-shortcut {
       color: #555;
       background: none repeat scroll 0% 0% #ddd;
    }
<div class="container">
   <div class="row">
      <div class="col-xs-12">
 <h1></h1>        <div class="category-box">
            <div class="dropdown" class="">
               <a href="HTTP://GOOGLE.COM" target="_blank" style="width: 12.5%; float: left;" data-toggle="dropdown">
                  <div data-category>
                     <i class="fa fa-bullhorn fa-3x"></i>
                     <h5>CATEGORY 1</h5>
                  </div>
               </a>
               <div class="dropdown-menu category-overlay">
                  <a href="#">Action 1</a>
               </div>
            </div>
            <div class="dropdown">
               <a href="HTTP://GOOGLE.COM" style="width: 12.5%; float: left;" data-toggle="dropdown">
                  <div data-category>
                     <i class="fa fa-car fa-3x"></i>
                     <h5>CATEGORY 2</h5>
                  </div>
               </a>
               <div class="dropdown-menu category-overlay">
                  <a href="#">Action 2</a>
               </div>
            </div>
            <div class="dropdown">
               <a href="HTTP://GOOGLE.COM" style="width: 12.5%; float: left;" data-toggle="dropdown">
                  <div data-category>
                     <i class="fa fa-file-text fa-3x"></i>
                     <h5>CATEGORY 3</h5>
                  </div>
               </a>
               <div class="dropdown-menu category-overlay">
                  <a href="#">Action 3</a>
               </div>
            </div>
            <div class="dropdown">
               <a href="HTTP://GOOGLE.COM" style="width: 12.5%; float: left;" data-toggle="dropdown">
                  <div data-category>
                     <i class="fa fa-home fa-3x" style="margin-bottom: -20px; margin-top: -11px; font-size: 4em;"></i>
                     <h5>CATEGORY 4</h5>
                  </div>
               </a>
               <div class="dropdown-menu category-overlay">
                  <a href="#">Action 4</a>
               </div>
            </div>
            <div class="dropdown">
               <a href="HTTP://GOOGLE.COM" style="width: 12.5%; float: left;" data-toggle="dropdown">
                  <div data-category>
                     <i class="fa fa-cogs fa-3x"></i>
                     <h5>CATEGORY 5</h5>
                  </div>
               </a>
               <div class="dropdown-menu category-overlay">
                  <a href="#">Action 5</a>
               </div>
            </div>
            <div class="dropdown">
               <a href="HTTP://GOOGLE.COM" style="width: 12.5%; float: left;" data-toggle="dropdown">
                  <div data-category>
                     <i class="fa fa-users fa-3x"></i>
                     <h5>CATEGORY 6</h5>
                  </div>
               </a>
               <div class="dropdown-menu category-overlay">
                  <a href="#">Action 6</a>
               </div>
            </div>
            <div class="dropdown">
               <a href="HTTP://GOOGLE.COM" style="width: 12.5%; float: left;" data-toggle="dropdown">
                  <div data-category>
                     <i class="fa fa-heart fa-3x"></i>
                     <h5>CATEGORY 7</h5>
                  </div>
               </a>
               <div class="dropdown-menu category-overlay">
                  <a href="#">Action 7</a>
               </div>
            </div>
            <div class="dropdown">
               <a href="HTTP://GOOGLE.COM" style="width: 12.5%; float: left;" data-toggle="dropdown">
                  <div data-category<h1></h1>>
                     <i class="fa fa-briefcase fa-3x"></i>
                     <h5>CATEGORY 8</h5>
                  </div>
               </a>
               <div class="dropdown-menu category-overlay">
                  <a href="#">Action 8</a>
               </div>
            </div>
         </div>
      </div>
   </div>
</div>
jQuery('div.dropdown').hover(function() {

          jQuery(this).find('.dropdown-menu').stop(true, true).delay(200).fadeIn(500);
        }, function() {
        jQuery(this).find('.dropdown-menu').stop(true, true).delay(200).fadeOut(500);
    });

$('div[data-category]').mouseenter(function(){
  $(this).addClass('services-shortcut');    
})

$('div[class=dropdown]').mouseleave(function(){
  $(this).find('div[data-category]').removeClass('services-shortcut');
});