比例算法不精确?

时间:2017-11-15 22:46:12

标签: javascript jquery html css algorithm

我试图创建这个非常简单的算法来调整div的大小,位置和变换(缩放)。由于某种原因,算法并没有完全正常工作。如果你看看我制作的jsfiddle,当你点击div时,它会缩放,但边缘会离开窗口。如果我的数学不是很糟糕,那么这个算法不应该发生。为什么会发生这种情况,我该怎么做才能解决它?

PS:没有控制台日志(没有错误) 很感谢任何形式的帮助! :3

出于某种原因,我必须输入一些代码来上传jsfiddle,所以这里是算法,其余的是在jsfiddle上。 :3

var me = $("#me");
var zoom = $("#me.zoom");
var win = $(window);

me.css({
    "top": win.height() / 2 - me.height() / 2 + "px",
    "left": win.width() / 2 - me.width() / 2 + "px"
});

me.on("click", function() {
    me.toggleClass("zoom");
    if(me.hasClass("zoom")) {
        me.css({
            "transform": "scale(" + win.width() / me.width() + ")",
            "-webkit-transform": "scale(" + win.width() / me.width() + ")"
        });
    } else {
        me.css({
            "transform": "scale(1)",
            "-webkit-transform": "scale(1)"
        });
    }
});

DEMO

1 个答案:

答案 0 :(得分:1)

正如@Cory在评论中提到的那样,1%填充是窗外的内容。您可能希望使用outerHeight()outerWidth(),而不是在小提琴上的此更新中显示:

https://jsfiddle.net/k8vkL343/3/