0
これは数学的な重い質問のビットです。私は電子漫画の電子書籍リーダーで電子で作業していますが、ズームインできるようにプログラムしたいのですが、左上からズームインするのではなく、中心からズームインします。可視画像の中心を拡大しますか?
@100% @200% Currently @200% Ideally
---- -------- --------
| | | | | | ---- |
---- ---- | | | | |
visible | | | ---- |
size -------- --------
ズーム機能は、100
から300
の範囲input slider
に接続され、その後...可視div
HTMLなどこれにより
function pageZoom() { // invoked onchange
var outer = document.getElementById('viewer');
var inner = document.getElementById('innerWindow');
var zoomSlide = document.getElementById('zoomSlider');
inner.style.width = zoomSlide.value + "%";
var scrollShift = (zoomSlide.value - 1)/2; // This is the function that needs to change
outer.scrollTop = scrollShift; // to update the scrollbars to the correct position
outer.scrollLeft = scrollShift;
};
ためパーセンテージに変換
<div class="mainWindow dragscroll" id="viewer"> <!-- this element has the scroll bars -->
<div id="innerWindow"> <!-- this element grows by input -->
<img id="viewImgOne" /> <!-- set at 50% width -->
<img id="viewImgTwo" /> <!-- set at 50% width -->
</div>
</div>
私は数学のクラスを取って以来、永遠にされているので、私の代数はrustyです。
var body = document.body; // clientHeight & clientWidth are the user visible dimensions
var outer = document.getElementById('viewer');
var inner = document.getElementById('innerWindow');
var zoomSlide = document.getElementById('zoomSlider'); // 100 to 300
編集:コンセプトでCSSに似てますが、ズームを扱う様々な方法だけでなく、ホバリング以外にも、より恒久的な実行を必要とします。異なるウィンドウの大きさ、異なるズーム位置、およびJSを実装して問題を解決するための入力が呼び出されました。
[CSS:左上ではなく中央から画像を拡大する方法](http://stackoverflow.com/questions/28726430/css-how-to-scale-an-image-from-中央の代わりに左上) – adambullmer
[この回答](http://stackoverflow.com/a/16835572/1169519)をチェックしてください。 – Teemu
私は、ソリューションを使用しているかもしれないと思う... 'var cPX = outer.scrollTop + outer.clientHeight/2;'& 'var cPXR = cPX/inner.clientHeight;' –