我正在使用以下功能来缩放div。缩小(向下滚动)时效果相当不错,但放大(向上滚动)时,currentZoom跳转到10而不是1.1。从那时起你可以缩小,但你不能再放大(我假设CSS缩放是有限的)。
我错过了什么?
$('#workArea').on('mousewheel DOMMouseScroll', function (e) {
e.preventDefault();
var currentZoom = $(this).css('zoom');
alert(currentZoom);
if (e.originalEvent.wheelDelta > 0) {
currentZoom += .1;
$(this).animate({ 'zoom': currentZoom }, 400);
} else {
currentZoom -= .1;
$(this).animate({ 'zoom': currentZoom }, 400);
}
});
获得鼠标轮代码
的event.wheelDelta returns undefined答案 0 :(得分:3)
所有CSS属性都以字符串形式返回。这意味着currentZoom += .1
将导致10.1
。我猜你是对的,并且CSS缩放限制在固定范围内。当您返回到缩放级别1时,放大应该再次起作用。
要解决此问题,请尝试currentZoom = parseFloat($(this).css("zoom"));
或
currentZoom = +$(this).css("zoom")