問題
Web サイトの上部に、html と js の組み合わせを使用して構築されたカルーセルを使用しています。サイトへのモバイル訪問者の場合、マークアップのその部分を省略して、幅が 800px 未満のビューポートの場合など、画像を読み込む必要がないようにしたいと思います。私が行ったことは、jquery を使用してブラウザの幅を取得するスクリプトをページの下部に作成し、幅が十分に大きい場合は .prepend() を使用して、カルーセルのマークアップ全体を body 要素の上部に配置することです。 . 明らかに、このソリューションは機能しますが、特にカルーセル マークアップを変更する必要がある場合は、見栄えがよくありません。
カルーセルのマークアップ
<div class="row">
<div class="span12 columns">
<div id="myCarousel" class="carousel slide">
<div class="carousel-inner">
<div class="active item">
<img src="img/1.jpg">
<div class="carousel-caption"><h4>Hello</h4></div>
</div>
<div class="item">
<img src="img/2.jpg">
<div class="carousel-caption"><h4>World</h4></div>
</div>
</div><!-- Carousel inner-->
<a class="carousel-control left" href="#myCarousel" data-slide="prev">prev</a>
<a class="carousel-control right" href="#myCarousel" data-slide="next">next</a>
</div> <!--Carousel outer-->
</div><!--span-->
</div><!--row-->
JavaScriptは次のようになります...
if (windowWidth >= 800) {
$('.content').prepend('...all the markup for the carousel no spaces or returns...');
}
質問
これはせいぜい問題に対する大雑把な解決策でなければなりませんが、この種の良い方法を知っている人はいますか? js/jquery は私の最良の選択肢ですか? 理想的には、画面サイズが小さい場合はカルーセルをバイパスしたいのですが、モバイル用に別のページを設計するのではなく、すべてを 1 つのページに保持します。