javascript - 尝试创建自定义 Bootstrap 导航栏

标签 javascript jquery html css twitter-bootstrap

我正在尝试创建自定义 Bootstrap 导航栏,如下图所示:enter image description here

我使用的是常用的 Bootstrap navbar-default 并在 css 中进行了以下更改:

 .navbar-default{
  margin-top:50px;
  background:transparent;
  border:none
} 
/* 
.nav>li{
  margin:0;
  padding:0
}

li.active{
  border-top:3px solid red;
   padding-top:60px

}

 */
 li.active div.abc{
    border-top: 3px solid red;
    height: 56px;
    position: relative;
    width: 56px;
    top: -20px;
 }

 li.active a{
    padding-top: 32px;
    position: absolute;
    padding-left: 14px;
    text-decoration: none;
 }

 li.active a:visited{
   color:green
 }

您在上面的 css 代码中看到的 div.abc 是我通过 jQuery 动态添加的。每当点击某个链接时,我都会将其 class 设置为 active 并将 wrapping div class="abc" 设置为li 中的 a 标签。 以下 jQuery 代码将使它更清晰:

$(document).ready(function(){

                $('.navbar-nav li').on('click',function(){

                        $('.navbar-nav li').removeClass('active');

                        $(this).addClass('active');

                        if($(this).find("div")){
                            //if div inside of li, dont do anything             
                        }        
                        else{
                             $(this).find('a').wrap('<div class="abc"></div>');
                        }

        })

                $('.navbar-nav li.active').find('a').wrap('<div class="abc"></div>');

})

我上面附上的图片只显示了第一个链接上的行为。但我希望链接中的行为相同被点击。目前,当我点击其他链接时,行为非常困惑。

还附上 fiddle ,以便更清楚地了解我到目前为止所取得的成就:https://jsfiddle.net/anzrv6fw/1/

感谢任何帮助!!!

最佳答案

终于找到答案了。

将这两行添加到 jQuery 中,它起作用了:

var cnt=$('.navbar-nav li div.abc').contents();
$('.navbar-nav li div.abc').replaceWith(cnt);

感谢看到帖子并试图提供帮助的任何人。

关于javascript - 尝试创建自定义 Bootstrap 导航栏,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40293709/

相关文章:

javascript - jqGrid 中的自定义客户端聚合

javascript - 非IE浏览器鼠标捕获?

javascript - 如果刷新页面时您不希望数据存在于 window.localstorage 中,是否有任何方法可以将表单值存储在 window.localstorage 中?

javascript - jQuery tablesorter 按列 id 而不是列号排序

html - 如何在flutter html中使html图像自动适应屏幕

html - 如何使用CSS在单选按钮内添加圆形边框?

javascript - 如何在 JavaScript 中的函数完成之前禁止单击按钮

javascript - 正则表达式确保字符串以

jquery - 为什么 jQuerys 的 show 函数以这种方式工作?

javascript - $(window).bind ('hashchange',函数()在我的IE9中不起作用