2015-11-02 45 views
0

我想重绘上loadshow的NVD3图..但它不工作,因为我需要为我的页面,我需要图表display:none;但图表是重装后width;25px;但我设置为窗口宽度的100% ..NVD3重绘图表上载“秀”

一切工作正常,当我调整浏览器只是把它当我加载的页面不会工作...我写了这个代码:

// SLIDEUP 
 
    $('#slide').click(function(){ 
 
    $('#border2').slideToggle(500); 
 
    $('#slide1').slideToggle(500); 
 
    }); 
 

 
    $('#slide').click(function (e) { 
 
    e.preventDefault() 
 
    $('#slide1').tab('show') 
 
    $('#chart1 svg').trigger('resize'); // Added this line to force NVD3 to redraw the chart 
 
});
/* CHART */ 
 
    #slide1 {display: none; position: relative; width: 100%; overflow: hidden; right: 25px;} 
 
    #chart1 { width: 100%; height: 25em; }
<div id="slide1"> 
 
    <div class="col-xs-12" id="margin-chart"> 
 
     <svg id="chart1"></svg> 
 
    </div> 
 
</div>

回答

0

解决:

那是不是一个真正明确的版本,但作品真的很好,我跳,我帮助别人..

我只是做了,通过.animation我设置高度为0,因此图可以完全加载,然后通过jQuery我设置.animation为高度扩大和其作品完美..下面是代码VO NVD3或其它图表(用NVD3和Rickshawn图表测试)

$('#slide').click(function(){ 
 
    $('#border2').slideToggle(500); 
 
    }); 
 

 
    $("#slide").click(function(){ 
 
    if($('.slide1').hasClass('showtable')) { 
 
     $('.slide1.showtable').animate({height:300},500).removeClass('showtable'); 
 
    } else { 
 
     $('.slide1').animate({height:0},500) 
 
     $('.slide1').addClass('showtable'); 
 
     } 
 
    });
/* CHART */ 
 
    .slide1 { position: relative; width: 100%; right: 25px;} 
 
    .slide1.showtable {height: 0;} 
 
    #chart1 {height: 300px;}
<div class="slide1 showtable"> 
 
    <svg id="chart1"></svg> 
 
</div>