悬停效果保留在Bootstrap导航栏上

时间:2015-10-04 14:09:55

标签: jquery html css twitter-bootstrap

我有navbar-fixed-top,它会在滚动后更改颜色,例如background-colorcolorborder-color

有很少的剧本,其中包括它:

 $(document).ready(function(){       
   var scroll_start = 0;
   var startchange = $('#home');
   var offset = startchange.offset();
    if (startchange.length){
   $(document).scroll(function() { 
      scroll_start = $(this).scrollTop();
      if(scroll_start > offset.top) {
          $('.navbar').css('background-color', 'white');
          $('.navbar a').css('color', 'black');
          $('.navbar a').hover(function() {
            $(this).css('border-color', 'black')
          });
       }
       else {
          $('.navbar').css('background-color', 'transparent');
          $('.navbar a').css('color', 'white');
          $('.navbar a').hover(function() {
            $(this).css('border-color', 'white')
          });
          $('.navbar a').css('border-color', 'transparent');   
       }
   });
    }
});

但毕竟,我一直保持悬停效果。如果您使用鼠标按住导航栏的点数,它会出现一次,但如果您将其删除则不会消失。

这里看起来像是:http://i.imgur.com/JHGOfJs.png

这是JSFiddle.

边境没有消失。

如何解决这个问题?

2 个答案:

答案 0 :(得分:0)

在if块中,您在悬停时添加背景颜色,但是您需要删除缺少的模糊事件。无论如何,我建议你使用css3做同样的事情,这最适合你的情况。

使用css3时,您不必担心处理模糊事件,这与使用jquery时不同。

CSS3代码

.active: hover {
     background-color : black;  
}

答案 1 :(得分:0)

试试这个代码。你会得到你想要实现的目标而没有任何问题 -

 $(document).ready(function(){       
   var scroll_start = 0;
   var startchange = $('#home');
   var offset = startchange.offset();
    if (startchange.length){
   $(document).scroll(function() { 
      scroll_start = $(this).scrollTop();
      if(scroll_start > offset.top) {
          $('.navbar').addClass('onscroll');
       }
       else {
          $('.navbar').removeClass('onscroll');       }
   });
    }
});
html, body {
    margin: 0;
    padding: 0;
}

.container {
    max-width: 940px;
    margin: 0 auto;
    padding: 0;
}

#home .nav a {
    color:white;
}

.nav {
    margin: 0;
    padding: 0;
}

.navbar-custom {
    color: white;
    margin-top: 2em;
    background-color: transparent;
    border-color: transparent;
    float: right;
    height: 70px;
}

.nav li {
    color: white;
    font-family: 'Raleway', sans-serif;
    font-weight: 100;
    font-size: 18px;
    display: inline-block;
    float: right;
    margin-right: 10px;
    text-transform: uppercase;
    padding-top: 10px;
}

.nav a {
    color: white;
    text-decoration: none;
    border: 1px solid transparent;
    border-radius: 5px;
    transition: background 0.5s;
    margin-right: 35px;
}

.nav a:hover {
    text-decoration: none;
    border: 1px solid white;
    border-radius: 5px;
    
}

.jumbotron {
    height: 600px;
    background-image: url(''); 
    -webkit-background-size: cover;
    -moz-background-size: cover;
    -o-background-size: cover;
    background-size: cover;
    background-repeat: no-repeat;
    background-position: center;
    margin-bottom: 0px;
}

.span12 {
    text-align: center
}

#main {
    height: 20px;
}

.navbar.onscroll{
    background-color: #fff;
}

.navbar.onscroll a{
    color: #000 !important;
}

.navbar.onscroll a:hover{
    border-color: black;
}
<link href="https://netdna.bootstrapcdn.com/bootstrap/3.0.0/css/bootstrap.min.css" rel="stylesheet"/>
<script src="https://netdna.bootstrapcdn.com/bootstrap/3.0.0/js/bootstrap.min.js"></script>
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<div id="home" class="jumbotron">
        <div class="container">
            <nav class="navbar navbar-inverse navbar-fixed-top navbar-custom">
              <div class="container-fluid">
                <div>
                  <ul class="nav navbar-nav pull-right">
                    <li><a href="#touch">Contact</a></li>
                    <li><a href="#testimon">Blog</a></li> 
                    <li><a href="#portfolio">Work</a></li>
                    <li><a href="#services">About</a></li> 
                    <li><a href="#">Home</a></li> 
                  </ul>
                </div>
              </div>
            </nav>
    
            <div id="main" class="main">
                <h1>h1</h1> 
                    <div class="row">
                        <div class="span12">
                            <a href="#services">services</a>
                            <p>Aasdasdad<br>
                            Aasdasdad<br>
                            Aasdasdad<br>
                            Aasdasdad<br>
                            Aasdasdad<br>
                            Aasdasdad<br>
                                Aasdasdad<br>
                            Aasdasdad<br>
                            Aasdasdad<br>
                            Aasdasdad<br>
                            Aasdasdad<br>
                            Aasdasdad<br>
                                Aasdasdad<br>
                            Aasdasdad<br>
                            Aasdasdad<br>
                            Aasdasdad<br>
                            Aasdasdad<br>
                            Aasdasdad<br>
                                Aasdasdad<br>
                            Aasdasdad<br>
                            Aasdasdad<br>
                            Aasdasdad<br>
                            Aasdasdad<br>
                            Aasdasdad<br>
                                Aasdasdad<br>
                            Aasdasdad<br>
                            Aasdasdad<br>
                            Aasdasdad<br>
                            Aasdasdad<br>
                            Aasdasdad<br>Aasdasdad<br>
                            Aasdasdad<br>
                            Aasdasdad<br>
                            Aasdasdad<br>
                            Aasdasdad<br>
                            Aasdasdad<br>Aasdasdad<br>
                            Aasdasdad<br>
                            Aasdasdad<br>
                            Aasdasdad<br>
                            Aasdasdad<br>
                            Aasdasdad<br>Aasdasdad<br>
                            Aasdasdad<br>
                            Aasdasdad<br>
                            Aasdasdad<br>
                            Aasdasdad<br>
                            Aasdasdad<br>
                            </p>
                        </div>
                    </div>    
                </div>
            </div>
        </div>
    </div>