css zoom将递减但不能正确递增

时间:2013-06-17 19:47:12

标签: jquery css

我正在使用以下功能来缩放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

1 个答案:

答案 0 :(得分:3)

所有CSS属性都以字符串形式返回。这意味着currentZoom += .1将导致10.1。我猜你是对的,并且CSS缩放限制在固定范围内。当您返回到缩放级别1时,放大应该再次起作用。

要解决此问题,请尝试currentZoom = parseFloat($(this).css("zoom"));
currentZoom = +$(this).css("zoom")