ユーザーが画面サイズに基づいてページをロードするときに、クラスタグの名前を動的に変更しようとしています。画面サイズに基づくHTML変更クラス名
<!DOCTYPE html>
<html>
<body onload="changeClass()">
<section class="example">
<p>Hello</p>
</section>
<section class="example">
<p>New section</p>
</section>
<script>
function changeClass() {
var x = document.getElementsByClassName('example');
var width = (window.innerHeight > 0) ? window.innerHeight : screen.Height;
console.log(width);
if(width <= 640) {
while(x.length > 0) {
x[1].className ='newClass';
}
} else {
while(x.length > 0) {
x[0].className = "example";
}
}
}
</script>
</body>
</html>
ただし、ページは無限ループにスローされ、データをロードできません。画面のサイズに基づいてクラスを設定する簡単な方法はありますか?ページが読み込まれたときに「if条件付き」チェックを使用できますか?私はJSFiddleも含んでいます。私はどれくらい助けてくれるのか分かりません。
なぜあなたはCSSでメディアクエリではなくJavaScriptでこれをやっていますか?スタイルの変更を処理するためにJavaScriptを使用するのはちょっと残念です。 – Puzzle84
画面サイズに基づいて要素に異なるスタイルを適用することの最終目標はありますか?クラス名を変更する別の理由がありますか? –
私はこれを行う最も簡単な方法を探しています。オンラインの人々はJavascriptを提案していました。画面サイズに基づいて要素名を変更したいだけです。 – Dexstrum