やりたいこと
下記コードのように、クリックされると600px移動するコードを書きました。
レスポンシブ対応をするため、
・600pxでなくvwで指定したいです。
・SP用、PC用で移動距離を切り替えたい
現状のコード
js
1$(".banner").click(function (){ 2 var pageID = Number(this.id); 3 var myPos = (pageID+1) * -600; 4 $("#bannerMaster").animate({left: myPos}); 5});
html
1<div id="showArea"> 2 <div id="bannerMaster"> 3 <div class="banner" id="0"><img src="images/1.jpg" width="600" height="220" alt="1"></div> 4 <div class="banner" id="1"><img src="images/2.jpg" width="600" height="220" alt="2"></div> 5 <div class="banner" id="2"><img src="images/3.jpg" width="600" height="220" alt="3"></div> 6 <div class="banner" id="3"><img src="images/4.jpg" width="600" height="220" alt="4"></div> 7 <div class="banner" id="4"><img src="images/5.jpg" width="600" height="220" alt="5"></div> 8 </div> 9 </div>
今挑戦していること
とりあえず、以下の様にswitchで切り替えられるようにしました。
js
1 var $win = $(window); 2 3 $win.on('load resize', function() { 4 var windowWidth = window.innerWidth; 5 6 if (windowWidth > 799) { 7 // SP処理 8 function moveFunc(vol){ 9 var myPos = (vol+1) * -650; 10 $("#qContainer").delay(500).animate({left: myPos},500); 11 } 12 } else { 13 // PCのの処理 14 function moveFunc(vol){ 15 var myPos = (vol+1) * -650; 16 $("#qContainer").delay(500).animate({left: myPos},500); 17 } 18 } 19 });
ただ、pxからvwへの変換がわからず、pxはそのままになっています。
宜しくお願い致します。
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。