这是我在这里的第一个问题,所以请耐心等待。我正在开发一个小型项目,最近我发现了一个以前没有的特殊问题。Chrome上的jQuery animate()37.0.2062.120 m/Webkit?
在项目中,我用我的祖国罗马尼亚的不同区域进行选择的小地图。我使用Raphael.js库和jQuery/UI实现了这一点。它看起来像这样:
http://s28.postimg.org/pzg3gaiod/output_Cuap_Ye.gif
的想法是,当你选择它会动态着色,添加到区域中的载体的区域。简单。因此,对于每个区域(即声明为拉斐尔库理解的路径和油漆),我有一个小功能:
function clickableMinimapRegions(st, regio) {
st[0].style.cursor = "pointer";
st[0].onclick = function() {
if ($.inArray(regio, regions) != -1) {
regions.splice($.inArray(regio, regions), 1);
st.animate({
fill: "#FFFFFF"
}, 0);
} else {
regions.push(regio);
st.animate({
fill: "#e6e6e6"
}, 0);
}
};
}
然后,我有这样的HTML:
<ul class="element-menu drop-up">
<li>
<a id="toggle" class="dropdown-toggle bg-lime text-shadow button shadow">
<img src="../img/regions.png">
</a>
<div id="content" class="dropdown-menu bg-steel" data-role="dropdown">
<div id="minimap" class="minimap"></div>
</div>
</li>
</ul>
我使用的Metro UI CSS库,它是一个简单的下拉菜单。但它的行为是在点击时自动关闭。所以对于我所做的:
$("#minimap").click(function (event) {
event.stopPropagation();
});
http://s28.postimg.org/trltqsu19/Captura3.png
此菜单在屏幕上的单张地图的底部,地图的背景和这个下拉是在地图上。事情是,如果地图没有加载,比起来还好。如果加载了地图图块,则会发生某些情况,防止点击时区域被着色。
谢谢。
溶液中发现: Force DOM redraw/refresh on Chrome/Mac
@ enr00ted在一个侧面说明,[拉斐尔的'elt.animate( )'的文档(http://raphaeljs.com/reference.html#Element.animate)说同样的事情 – blgt 2014-09-12 22:44:22
我不得不用这个,$('#parentOfElementToBeRedrawn')。隐藏()。显示(0 );我也更新了我的问题的解释,因为现在我怀疑有重绘/刷新问题。 – enr00ted 2014-09-12 22:52:25
那么有[这个问题](http://stackoverflow.com/questions/8840580)哪些引用确切的重绘问题(可能你得到你的解决方案?)。如果这解决了您的问题,我建议将其标记为重复或将其作为答案添加到此处并包括链接,如果您认为它的相似程度不够重复(可能对其他人有帮助) – blgt 2014-09-12 23:06:38