我在引导选项卡中加载NGL查看器时遇到问题。 如果在选项卡外部加载,则效果很好。但是,如果我尝试将其加载到默认情况下不可见的选项卡中,则无法使用。 欢迎任何建议。
HTML:
<ul id="myTabs" class="nav nav-tabs" role="tablist">
<li role="presentation" class="active"><a href="#chartcontainer1" aria-
controls="chartcontainer1" role="tab" data-toggle="tab">Chart 1</a></li>
<li role="presentation"><a href="#chartcontainer2" aria-
controls="chartcontainer2" role="tab" data-toggle="tab">Chart 2</a></li>
</ul>
<div class="tab-content">
<div role="tabpanel" class="tab-pane fade in active" id="chartcontainer1">
Some content
</div>
<div role="tabpanel" class="tab-pane fade" id="chartcontainer2">
Some other content
<span id="showfilename"></span>
<div id="viewport" style="width:400px; height:300px;"></div>
</div>
</div>
javascript:
$(document).ready(function() {
$('#myTabs a[href="#chartcontainer2"]').on('click', function(e) {
e.preventDefault();
$(this).show()
addViewer()
function addViewer () {
var pdbfile = "rcsb://1CRN"
$('#showfilename').html(pdbfile);
var stage = new NGL.Stage("viewport");
stage.loadFile(pdbfile).then(function (component) {
component.addRepresentation("cartoon");
component.autoView();
});
}
});
jsfiddle:working outside jsfiddle:not working (inside tab)
答案 0 :(得分:1)
显示标签时,您需要添加查看器。 使用show.bs.tab事件。
我更新了你的小提琴;-)