Javascript d3转换从页面加载开始,而不是从模式弹出加载开始

Javascript d3转换从页面加载开始,而不是从模式弹出加载开始,javascript,twitter-bootstrap,d3.js,bootstrap-modal,Javascript,Twitter Bootstrap,D3.js,Bootstrap Modal,我的页面中设置了一个简单的引导模式,单击即可打开: <h4><a data-toggle="modal" data-target="#myModal">Modal Page</a></h4> <div id="myModal" class="modal fade" role="dialog"> <div class="modal-dialog"> <div class="modal-conte

我的页面中设置了一个简单的引导模式,单击即可打开:

<h4><a data-toggle="modal" data-target="#myModal">Modal Page</a></h4>

<div id="myModal" class="modal fade" role="dialog">
    <div class="modal-dialog">
        <div class="modal-content">
        <!-- etc -->

我的问题是,这种转换是从页面加载开始的,而不是从打开弹出窗口开始的。当我将持续时间设置为较高值(比如7500)时,我将有足够的时间选择模式并观看它运行,因此我知道动画可以工作。如何延迟此转换直到模式窗口打开才开始?

尝试在模式显示时触发转换

$("#myModal").on('shown', function(){
   var width = 100, height = 20;

        d3.select("#thing").append('svg')
            .attr('width', "100%")
            .attr('height', 15)
            .append('rect')
            .attr("width", 0)
            .transition().duration(750).ease("linear")
            .attr('width', "100%");
});

尝试在模态显示上触发转换

$("#myModal").on('shown', function(){
   var width = 100, height = 20;

        d3.select("#thing").append('svg')
            .attr('width', "100%")
            .attr('height', 15)
            .append('rect')
            .attr("width", 0)
            .transition().duration(750).ease("linear")
            .attr('width', "100%");
});

这太简单了,我喜欢。一个肯定的时刻。谢谢。这太简单了,我喜欢。一个肯定的时刻。非常感谢。