画像の水平スクロール ギャラリーがあります。すべての<div>
画像を含む の幅は、すべての子の outerWidths を合計することによって動的に生成されます。
ギャラリーの設定方法は次のとおりです。
<div class="categoryImageArea">
<div class="categoryImage" onclick="window.location = 'http://localhost/kitkittle/product/test-1'">
<img src="http://localhost/kitkittle/uploads/images/full/58172669e54ea075971494d6293444f5.jpg"><br>
<h3>Half Bubble - $50.00</h3>
</div>
<div class="categoryImage" onclick="window.location = 'http://localhost/kitkittle/product/bubble-mitosis'">
<img src="http://localhost/kitkittle/uploads/images/full/23aacfda65e43671bede87bc18902b81.jpg"><br>
<h3>Bubble Mitosis - $300.00</h3>
</div>
<div class="categoryImage" onclick="window.location = 'http://localhost/kitkittle/product/bubble-on-water'">
<img src="http://localhost/kitkittle/uploads/images/full/1e2dc5352f831ebacd3ccbb7a9b4717a.jpg"><br>
<h3>Bubble on Water - $10.00</h3>
</div>
<div class="categoryImage" onclick="window.location = 'http://localhost/kitkittle/product/bubble-on-water1'">
<img src="http://localhost/kitkittle/uploads/images/full/69f7b2c3b640444dd5a23c3037c3cc84.jpg"><br>
<h3>Bubble on Ocean - $210.00</h3>
</div>
<div class="categoryImage" onclick="window.location = 'http://localhost/kitkittle/product/swimming-bubbles'">
<img src="http://localhost/kitkittle/uploads/images/full/2d66a56b9f51f29ad5c6f58c82b2ab39.jpg"><br>
<h3>Swimming Bubbles - $0.00</h3>
</div>
</div>
の幅はcategoryImageArea
、次の関数を使用して生成されます。
function change(){
if($(window).width() > 768){
var width = 0;
$('.categoryImage').each(function(index, element){
width += $(element).outerWidth(true);
});
$('.categoryImageArea').width(width);
}
else{
$('.categoryImageArea').width('100%');
}
}
ブラウザ ウィンドウを最大化 (1900 x 1280) すると、次のようにうまく動作します。
ただし、ブラウザ ウィンドウのサイズが半分になると、機能しません。(申し訳ありませんが、スクリーンショットは見にくいです。最後の 2 つは次の行にプッシュされます)。
これがなぜなのか当惑したので、両方の場合に値を追加するため、JQuerychange()
関数 (上記)をalert
の値にしました。width
それは奇妙です。
- 大きなビューポート (良い): 0 > 984 > 1969 > 2953 > 3937 > 4921
- ハーフ ビューポート (悪い): 0 > 656 > 1312 > 1968 > 2624 > 3280
私の質問は$(element).outerWidth(true)
、ブラウザのビューポートが異なるという理由だけで、一体何が SO の値を異なるものにしているのですか?
参考までに、適用されるスタイルは次のcategoryImage
とおりです。
.categoryImage {
display: inline-block;
margin: 2em;
position: relative;
cursor: pointer;
}