javascript - 使用溢出滚动和中心在另一个 div 内缩放 div

标签 javascript jquery html css

我正在编写一个非常小的功能,但我遇到了滚动问题。我需要使用 css 缩放 div:

transform: scale(X,Y)

但我的问题是我在父 div 中没有正确的左滚动和上滚动。我需要知道每次用户按下“更多缩放”按钮时如何计算新的左侧和顶部,如果它是强制性的,我可以使用 translate css 属性。

我可以使用 jQuery,但我认为这只是一个数学问题 :)

一个细节:我需要图像从中心开始生长。

图片:

enter image description here

这是 fiddle :

Fiddle example

最佳答案

我相信你也需要注意 transform-origin:

// get element references
var foo = document.querySelector('#foo');
var bar = document.querySelector('#bar');

// fit bar into foo
// the third options argument is optional, see the README for defaults
// https://github.com/soulwire/fit.js


var zoom = 1;
var trans = 50;
var moreZoom = document.querySelector('#moreZoom');
moreZoom.onclick = function(e){
console.log(foo);
     bar.style.transform = 'scale(' + (zoom + 0.1) + ',' + (zoom + 0.1) + ')';
     zoom = (zoom + 0.1);
     bar.style.transformOrigin = (50 / zoom) +'px  ' +(50 / zoom )+'px';
}
#foo {
    background: #36D7B7;
    height: 200px;
    width: 400px;
    padding: 50px;
     overflow: auto;
    
}
#bar {
    background-image: url('http://www.space.com/images/i/000/028/001/original/wing-small-magellanic-cloud-galaxy-1920.jpg?interpolation=lanczos-none&fit=around%7C1440:900&crop=1440:900;*,*');
    background-size:cover;
    height: 100%;
    transform:scale(1);
    width: 100%;
   
}
<script src="https://rawgithub.com/soulwire/fit.js/master/fit.js"></script>
<button id="moreZoom">
More Zoom
</button>

<div id="foo">
    <div

http://jsfiddle.net/as20h6t4/5/

关于javascript - 使用溢出滚动和中心在另一个 div 内缩放 div,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40794892/

相关文章:

javascript - HTML5 Canvas 围绕中心旋转渐变

javascript - 通过 Javascript 加载大型 HTML 模板的最佳实践?

javascript - 如何为不确定长度的参数形成 JavaScript 正则表达式

javascript - jQuery AJAX 问题 - 代码在加载时运行,然后什么都没有

javascript - HTML5 工作线程功能是否公开了机器上的内核数量?

javascript - 使用 Node.js 初始化和配置 AWS

javascript - 我的 localscroll 代码哪里出错了?持续时间不工作

javascript - Ajax 和 Json 完成事件不会触发 Google map

javascript - 如何在 Javascript if/else 语句中使用 HTML?

html - 如何在CSS中为下划线和上划线设置不同的颜色?