変数に応じて条件をチェックしようとしています。長編短編:他の変数からオンザフライで変数を更新する
a。 body_size変数は、ユーザーがウィンドウのサイズを変更すると、オンザフライで更新されます。 //これを他の投稿でソートしました。
b.Then私は別の変数を更新する必要がある変数body_size知っ:body_sizeはX(私が設定した値)よりなど/小さい/大きい場合
することは、その後SlidesInViewは、自分自身を更新する必要があります。
デフォルトのスライドインビューは3です。
すべてがオンザフライで実行されます。二resizeイベントハンドラを作成しないでください
$(document).ready(function() {
var body_size; // this updates correctly
var resizeTimer;
function setContainerWidth() {
body_size = $('.container').width();
}
$(window).resize(function() {
clearTimeout(resizeTimer);
resizeTimer = setTimeout(function() {
setContainerWidth();
}, 200);
});
setContainerWidth();
console.log(body_size);
var SlidesInView = 3; // this should update depending on result below :
$(window).on('resize', function() {
setContainerWidth(); // to check width on resize?
if (body_size => 980) {
SlidesInView = 4; // change SlidesInView above if condition is met.
} else if (body_size <= 640) {
SlidesInView = 1; //change SlidesInView above if condition is met.
}
});
console.log(SlidesInView);
}); // doc ready
.container{
height:100vh;
width:100vw;
background:red;
}
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.0/jquery.min.js"></script>
<div class="container">
</div>
迅速な対応と優れたヒントをありがとう。現在、値はリフレッシュ時に更新を取得するようです。例:コンテナの幅> = 980? 4.スニペットは初期値をチェックし、ブラウザウィンドウのサイズを次の条件に合わせるように変更し、ページを更新する必要があります。条件を変更するとすぐに変更を開始するには?モバイルデバイス(風景とポートレート)について不思議。 – user7121582
確かに、それは実際には異なる質問です。あなたが持っているコンテンツを再構築したいのです。この質問は、DOMコンテンツではなく変数の更新に関するものです。あなたはそれについて質問があれば、新しい質問として投稿し、再構築する必要のあるHTMLを追加して、変数 'slidesInView'がどのようにそれに影響するべきかを説明することをお勧めします。質問を作成したら、ここにメモを残しておきましょう。あなたが望むなら、私も見ることができます。 – trincot
ありがとうございます。私は新しい質問を作成しました。私がそこにあるすべてのコードを配置しました。あなたがそれを見ることができれば感謝します。ここにリンク[新しい質問](http://stackoverflow.com/questions/40449005/change-number-of-slides-depending-on-element-width) – user7121582