簡體   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