[英]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在此版本中不可用。 您應該使用常規版本(如果需要,可以使用最小版本,但不要使用苗條版本)。
請檢查您包含的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.