3
我使用一个简单的css类来制作一个动态创建div的页面,它可以在mouseover上调整大小。我使用它,因此这些div在页面加载时很小,如果用户想要仔细观察,他们只需将鼠标悬停在上面。Plotly js div div
CSS基本上看起来像这样
.resize {
width: 400px;
height: 300px;
transition: all 1s;
}
.resize:hover {
width: 800px;
height: 600px;
}
我试图让我在这跟Plotly.js创建为用户将鼠标移动DIV自动调整的情节。
JS代码
function doGraph(){
for(index = 0; index < divArr.length; ++index){
(function() {
var d3 = Plotly.d3;
var gd3 = d3.select("div[id='"+divArr[index]+"']");
//.append('div')
//.style({
// width: "95%", "margin-left": "2.5%",
// height: "95%", "margin-top": "2.5%"
//});
var gd = gd3.node();
Plotly.newPlot(gd, [{
mode:'lines',
x: xArr[index],
y: yArr[index], }],
layout , {scrollZoom:true,modeBarButtonsToRemove:['sendDataToCloud'],showLink:false,displaylogo:false});
//gd.onresize = function() {
// Plotly.Plots.resize(gd);
//};
window.addEventListener('resize', function() { Plotly.Plots.relayout(gd); });
})();
}
}
注释掉的代码显示在那里,我不知道我需要做的,使这项工作。到目前为止,我所做的所有修补都没有结果。
基于我的用户生成的txt文件,页面上的所有内容都是在c#代码隐藏中动态创建的。
我发现了一个似乎相关的q/a Here,但说实话我不确定它是如何适用于我的代码的。
谢谢,我认为这是正确的答案,现在我可以返工我的代码,因为我用的是解决它:'变种更新= { \t \t \t width:divWidth, \t \t \t身高:divHeight \t \t}; \t \t Plotly.relayout(chartDivId,update);' – flipperweid
这对我来说很合适。它不像CSS转换那样流畅,但现在可以。因为我们已经在上面做过了,所以只有改变我真正做出的才是不重新选择gd。似乎工作,但这是一个错误?我的其他跟进问题是,如果有一个'plotly_hover_off'或我的鼠标移开时可以使用的东西。无论哪种方式,这是迄今为止我找到的最好的解决方案! – Guernica88
'var updateL = { width:800, height:600 }; var updateS = { width:400, height:300 }; 的document.getElementById(divArr [指数])上( 'plotly_hover',函数(数据){ Plotly.relayout(GD,updateL); })。在( 'plotly_unhover',函数(数据){ Plotly .relayout(gd,updateS); });' 这是我正在使用的,它大部分工作,除了它似乎有时闪烁很快。 – Guernica88