繁体   English   中英

引导程序选项卡内容slideDown / slideUp不起作用

[英]Bootstrap tab content slideDown/slideUp not working

我正在使用bootstrap alpha选项卡,实际上我的代码很大,所以不能真正将所有代码粘贴到这里,但是我给出的示例代码很少。 我想要单击slideUp / SlideDown上的选项卡内容,但是它不是在执行普通选项卡选项时发生的,我想要单击选项卡菜单上的slideDown内容,然后再次单击该菜单时使用slideUp。

 $(document).on('click', '.nav-link.active', function() { var href = $(this).attr('href').substring(1); $(this).removeClass('active'); $('.tab-pane[id="' + href + '"]').removeClass('active'); $('.tab-content').slideDown(600); }); 
 .tab-pane { background-color: red; padding-top: 50px; padding-bottom: 50px; } .tab-content { background-color: #ccc; padding-top: 10px; padding-bottom: 10px; } 
 <link rel="stylesheet" href="https://maxcdn.bootstrapcdn.com/bootstrap/4.0.0-alpha.6/css/bootstrap.min.css" integrity="sha384-rwoIResjU2yc3z8GV/NPeZWAv56rSmLldC3R/AZzGRnGxQQKnKkoFVhFQhNUwEyJ" crossorigin="anonymous"> <script src="https://code.jquery.com/jquery-3.1.1.slim.min.js" integrity="sha384-A7FZj7v+d/sdmMqp/nOQwliLvUsJfDHW+k9Omg/a/EheAdgtzNs3hpfag6Ed950n" crossorigin="anonymous"></script> <script src="https://cdnjs.cloudflare.com/ajax/libs/tether/1.4.0/js/tether.min.js" integrity="sha384-DztdAPBWPRXSA/3eYEEUWrWCy7G5KFbe8fFjk5JAIxUYHKkDx6Qin1DkWx51bBrb" crossorigin="anonymous"></script> <script src="https://maxcdn.bootstrapcdn.com/bootstrap/4.0.0-alpha.6/js/bootstrap.min.js" integrity="sha384-vBWWzlZJ8ea9aCX4pEW3rVHjgjt7zpkNpZk+02D9phzyeVkE+jo0ieGizqPLForn" crossorigin="anonymous"></script> <ul class="nav" id="myTab" role="tablist"> <li class="nav-item"> <a class="nav-link" data-toggle="tab" href="#home" role="tab" aria-controls="home">Home</a> </li> <li class="nav-item"> <a class="nav-link" data-toggle="tab" href="#profile" role="tab" aria-controls="profile">Profile</a> </li> <li class="nav-item"> <a class="nav-link" data-toggle="tab" href="#messages" role="tab" aria-controls="messages">Messages</a> </li> <li class="nav-item"> <a class="nav-link" data-toggle="tab" href="#settings" role="tab" aria-controls="settings">Settings</a> </li> </ul> <div class="tab-content"> <div class="tab-pane" id="home" role="tabpanel">Good</div> <div class="tab-pane" id="profile" role="tabpanel">Best</div> <div class="tab-pane" id="messages" role="tabpanel">Poor</div> <div class="tab-pane" id="settings" role="tabpanel">Ugly</div> </div> 

请帮我。

演示

运行演示并查看控制台的日志。

未捕获的TypeError:$(...)。slideDown不是函数

在HTMLAnchorElement。 ((索引):76)

在HTMLDocument.dispatch(VM106 jquery-3.1.1.slim.min.js:3)

在HTMLDocument.q.handle(VM106 jquery-3.1.1.slim.min.js:3)

由于SlideDown函数存在错误,因此将无效。 您所包含的jQuery库文件似乎没有该功能。

步骤1:jquery.slim

您包括的是jQuery的苗条版本。 根据消息来源:

连同包含ajax和effects模块的jQuery常规版本一起,我们发布了排除这些模块的“ slim”版本。 总而言之,它不包括ajax,效果和当前不建议使用的代码。

因此,例如,slideDown在此版本中不可用。 您应该使用常规版本(如果需要,可以使用最小版本,但不要使用苗条版本)。

https://code.jquery.com/

请检查您包含的jQuery版本,slideDown()未定义。 我会尝试包括其他内容,例如Google库中的jQuery

然后:slideDown()无法使用可见元素。 因此,您必须像这样更改代码:

$(document).on('click','.nav-link.active', function(){
    var href = $(this).attr('href').substring(1);
     $(this).removeClass('active');
     $('.tab-pane[id="'+ href +'"]').removeClass('active'); 
     $('.tab-content').hide().slideDown(600); 
});

...或display: none在使用slideDown函数使其可见之前, display: none CSS可以隐藏您的元素。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM