我试图创建这个非常简单的算法来调整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)"
});
}
});
答案 0 :(得分:1)
正如@Cory在评论中提到的那样,1%
填充是窗外的内容。您可能希望使用outerHeight()
和outerWidth()
,而不是在小提琴上的此更新中显示: