首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >悬停子菜单时停止衰落效应

问悬停子菜单时停止衰落效应
EN

Stack Overflow用户
提问于 2017-08-29 12:30:34
回答 3查看 32关注 0票数 0

一个div (子菜单)出现在一个元素悬停在菜单栏中的褪色效果,在悬停它停留在那里,但第一,褪色效果发生,我不希望褪色效果发生。当在div(子菜单)上徘徊时,div(子菜单)应该停留在那里。

​

代码语言:javascript
复制
/*sub menu*/
$(document).ready(function(){
    $(".main-courses").hover(function(){
        $(".sub-courses").fadeToggle(1000);
    });
    
});
代码语言:javascript
复制
.sub-courses{
    display: none;
    padding: 20px;
    border: 2px solid red;
    background-color: #fff;
    z-index: 289;
    position: fixed;
    top: 50px;
    width: 100%;
}

.sub-courses:hover {
    display: block !important;
}
代码语言:javascript
复制
<script src="https://ajax.googleapis.com/ajax/libs/jquery/3.2.1/jquery.min.js"></script>

<li><a ui-sref="#" class="main-courses">COURSES <span class="caret"></span></a></li>

<!-- sub menu -->
        <div class="container-fluid sub-courses">
            <div class="row">
                <div class="col-xs-12 col-xs-2">
                    one
                </div>
                <div class="col-xs-12 col-xs-2">
                    two
                </div>
            </div>
        </div>

​

​

我也尝试了鼠标切换和鼠标退出事件,但没有用。

EN

回答 3

Stack Overflow用户

回答已采纳

发布于 2017-08-29 12:36:53

如果要保持淡出效果,可以通过在javascript中添加以下内容来使用stop()方法。

代码语言:javascript
复制
$('.sub-courses').mouseover(function(){
        $(".sub-courses").stop(true,true);
    })

​

代码语言:javascript
复制
$(document).ready(function(){
    $(".main-courses").hover(function(){
        $(".sub-courses").fadeToggle(1000);
    });
    
    $('.sub-courses').mouseover(function(){
    	$(".sub-courses").stop(true,true);
    })
    
});
代码语言:javascript
复制
.sub-courses{
    display: none;
    padding: 20px;
    border: 2px solid red;
    background-color: #fff;
    z-index: 289;
    position: fixed;
    top: 50px;
    width: 100%;
}

.sub-courses:hover {
    display: block !important;
}
代码语言:javascript
复制
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<li><a ui-sref="#" class="main-courses">COURSES <span class="caret"></span></a></li>

<!-- sub menu -->
        <div class="container-fluid sub-courses">
            <div class="row">
                <div class="col-xs-12 col-xs-2">
                    one
                </div>
                <div class="col-xs-12 col-xs-2">
                    two
                </div>
            </div>
        </div>

​

票数 0
EN

Stack Overflow用户

发布于 2017-08-29 12:33:13

只需将时间从1000更改为0。

​

代码语言:javascript
复制
/*sub menu*/
$(document).ready(function() {
  $(".main-courses").hover(function() {
    $(".sub-courses").fadeToggle(0);
  });

});
代码语言:javascript
复制
.sub-courses {
  display: none;
  padding: 20px;
  border: 2px solid red;
  background-color: #fff;
  z-index: 289;
  position: fixed;
  top: 50px;
  width: 100%;
}

.sub-courses:hover {
  display: block !important;
}
代码语言:javascript
复制
<script src="https://ajax.googleapis.com/ajax/libs/jquery/3.2.1/jquery.min.js"></script>

<li><a ui-sref="#" class="main-courses">COURSES <span class="caret"></span></a></li>

<!-- sub menu -->
<div class="container-fluid sub-courses">
  <div class="row">
    <div class="col-xs-12 col-xs-2">
      one
    </div>
    <div class="col-xs-12 col-xs-2">
      two
    </div>
  </div>
</div>

​

票数 0
EN

Stack Overflow用户

发布于 2017-08-29 12:34:13

您不应该使用.fadeToggle(),而应该只使用.toggle()。参数1000是动画的持续时间。移除它会产生你想要的效果。

​

代码语言:javascript
复制
/*sub menu*/
$(document).ready(function(){
    $(".main-courses").hover(function(){
        $(".sub-courses").toggle();
    });
    
});
代码语言:javascript
复制
.sub-courses{
    display: none;
    padding: 20px;
    border: 2px solid red;
    background-color: #fff;
    z-index: 289;
    position: fixed;
    top: 50px;
    width: 100%;
}

.sub-courses:hover {
    display: block !important;
}
代码语言:javascript
复制
<script src="https://ajax.googleapis.com/ajax/libs/jquery/3.2.1/jquery.min.js"></script>

<li><a ui-sref="#" class="main-courses">COURSES <span class="caret"></span></a></li>

<!-- sub menu -->
        <div class="container-fluid sub-courses">
            <div class="row">
                <div class="col-xs-12 col-xs-2">
                    one
                </div>
                <div class="col-xs-12 col-xs-2">
                    two
                </div>
            </div>
        </div>

​

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/45939235

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档