我有几个div使用彼此的端点连接相互连接。当我进行放大或缩小时,我需要重新绘制所有UI组件。 UI组件使用jsPlumb库(基于jquery / javascript)绘制。 jsplumb中有一个强制重绘的方法,但它不像我希望的那样工作。这就是我想要做的事情。
$("div#explanation .plus").click(function(){
jsPlumb.repaintEverything();
var strongFont = parseFloat($("div.window strong").css('font-size'));
var newStrongFont = strongFont + 2;
$("div.window ").animate({
'height':'+=20px', 'width':'+=20px'
},"medium");
$("div.window strong").animate({
fontSize:newStrongFont
},"medium");
//This is not working
jsPlumb.repaintEverything();
jsPlumb.repaintEverything();
//I am calling here another function to repaint the div windows one by one
repaintWindows();
});
var repaintWindows = function(){
var jjl;
for(jjl=1;jjl<=xmlLength;jjl++)
{
var windo = "window"+jjl;
//alert("Window is ::"+windo);
jsPlumb.repaint(windo);
alert("Window is ::"+windo);
//_addEndpoints(wind, ["LeftMiddle", "BottomCenter"], ["TopCenter", "RightMiddle"]);
}
alert("the value of jjl is ::"+jjl+" \nThe value of xmlLength is::"+xmlLength);
};
这里的问题是我删除了
//alert("Window is ::"+windo);
从repaintWindows方法for循环,windows在下一个调用循环中重新绘制。我希望重画同时工作。如果我保持警报,那么它会同时重新绘制窗口。同样,最后我不希望那边有任何警报。 有人可以告诉我哪里出错了。 任何帮助表示赞赏。 谢谢!
答案 0 :(得分:0)
不确定,但试试这个
$(window).resize(function() {
jsPlumb.repaintEverything();
});