jQuery 3のresizeの挙動がloadになる
今Webページを作っているのですが、リスポンシブデザインを実装しようとした時に、問題に直面しました。
cssを書き換えるだけではなくて、テキスト自体を画素数に応じて書き換えたかったためjQueryを使って実装しようとしたのですが、$(window).on("resize", () => {...});の挙動が、resizeではなくloadになります。
ウィンドウの更新を押した際はうまく動くのですが、ウィンドウの拡大縮小をした時にはなぜか動きません。
この問題にぶち当たったため、テストファイルを作って解像度に応じて背景色を変えるようコーディングしたのですが、resizeとしているのにやはりloadの挙動になります。
該当のソースコード
<!DOCTYPE html> <html> <head> <meta charset="utf-8"> <title>test</title> <script src="https://code.jquery.com/jquery-3.3.1.js" integrity="sha256-2Kok7MbOyxpgUVvAk/HJ2jigOSYS2auK4Pfzbm7uH60=" crossorigin="anonymous"></script> </head> <body> <div id="test"> <p style="font-size: 30px; font-weight: bold; display: block; text-align: center; padding: 50px;">テスト</p> </div> <script> (function($){ const $win = $(window); const $winW = $win.innerWidth(); $win.on('load resize',() =>{ if ($winW > 1460) { $('#test p').css('background-color','red'); } else if ($winW > 1280) { $('#test p').css('background-color','yellow'); } else if ($winW > 960) { $('#test p').css('background-color','orange'); } else if ($winW > 600) { $('#test p').css('background-color','green'); } else if ($winW > 480) { $('#test p').css('background-color','blue'); } else { $('#test p').css('background-color','pink'); } }); })(jQuery); </script> </body> </html>
試したこと
'resize'を'load'と'load resize'に書き換える、
constのスコープの確認など
補足情報(FW/ツールのバージョンなど)
jQuery 3.3.1
回答2件
あなたの回答
tips
プレビュー