JavaScriptの初心者ですが、マウスホイールをスクロールして画像サイズのサイズを変更しようとしています。私はこれをChromeで実行します。JavaScript - マウスホイールで画像サイズを変更しようとしています
このコードは高さのサイズを変更しますが、幅は変更しません。私はimg1.heightとimg1.widthに数字を代入することで紙の上でそれを試してみましたが、それは動作しますが、コードを実行すると動作しません。
HTMLは
<img id="img1" src="https://upload.wikimedia.org/wikipedia/commons/7/73/HDRI_Sample_Scene_Balls_(Auto_Exposure).jpg" style="position:absolute; transition: 1s all">
JAVASCRIPT --- 間違ったコードは、動作していない、唯一の高さは
function changeSize(e) {
var img1 = document.getElementById("img1");
var slope = img1.height/img1.width;
img1.height = img1.height + e.deltaY;
img1.width = img1.height/slope;
}
function init() {
window.onwheel = changeSize;
}
window.onload = init;
同じHTMLコードで
、作品次のコードを変更しますが、私は理解していません新しい高さを変数にコピーし、その高さの代わりにその変数を使用するのがなぜ効果があるのでしょうか。
JAVASCRIPT --- 正しいコード、作業、高さと幅の両方が答えを
function changeSize(e) {
var img1 = document.getElementById("img1");
var slope = img1.height/img1.width;
var change = img1.height + e.deltaY;
img1.height = change;
img1.width = change/slope;
}
function init() {
window.onwheel = changeSize;
}
window.onload = init;
感謝を変更します。
は全く高さを変更しないでください変更しないように、最初のコードであるため、幅が高さの更新に依存します、サイズを変更すると高さが自動的にリサイズされ、縦横比は維持されます – Justinas
CSSの幅をリサイズするときの高さの自動調整ですか?何か全く違う? – George
まあ、技術的にはブラウザのことです。 – Justinas