画面内を浮遊するテキストを作っているのですがブラウザの枠内からはみ出ないようにしたいです。
画面の上と左は大丈夫なのですが下と右がはみ出てしまいます。
ここの部分の修正方法をご教授お願いします。
javascript
1 var movement01 = {x:9, y:2}; 2 var movement02 = {x:-2, y:9}; 3 var movement03 = {x:9, y:-2}; 4 var movement04 = {x:7, y:4}; 5 6 $(function redraw(){ 7 8 var winWidth = window.innerWidth; 9 var winHeight = window.innerHeight; 10 11 var posLeft01 = parseFloat($('.maru01').css('left')); 12 var posTop01 = parseFloat($('.maru01').css('top')); 13 var posLeft02 = parseFloat($('.maru02').css('left')); 14 var posTop02 = parseFloat($('.maru02').css('top')); 15 var posLeft03 = parseFloat($('.maru03').css('left')); 16 var posTop03 = parseFloat($('.maru03').css('top')); 17 var posLeft04 = parseFloat($('.maru04').css('left')); 18 var posTop04 = parseFloat($('.maru04').css('top')); 19 20 posLeft01 += movement01.x; 21 posTop01 += movement01.y; 22 posLeft02 += movement02.x; 23 posTop02 += movement02.y; 24 posLeft03 += movement03.x; 25 posTop03 += movement03.y; 26 posLeft04 += movement04.x; 27 posTop04 += movement04.y; 28 29 if(posLeft01 < 0 || posLeft01 > winWidth){ 30 movement01.x *= -1; 31 } 32 if(posTop01 < 0 || posTop01 > winHeight){ 33 movement01.y *= -1; 34 } 35 if(posLeft02 < 0 || posLeft02 > winWidth){ 36 movement02.x *= -1; 37 } 38 if(posTop02 < 0 || posTop02 > winHeight){ 39 movement02.y *= -1; 40 } 41 if(posLeft03 < 0 || posLeft03 > winWidth){ 42 movement03.x *= -1; 43 } 44 if(posTop03 < 0 || posTop03 > winHeight){ 45 movement03.y *= -1; 46 } 47 if(posLeft04 < 0 || posLeft04 > winWidth){ 48 movement04.x *= -1; 49 } 50 if(posTop04 < 0 || posTop04 > winHeight){ 51 movement04.y *= -1; 52 } 53 54 $('.maru01').css({left:posLeft01, top:posTop01}); 55 $('.maru02').css({left:posLeft02, top:posTop02}); 56 $('.maru03').css({left:posLeft03, top:posTop03}); 57 $('.maru04').css({left:posLeft04, top:posTop04}); 58 59 setTimeout(redraw, 60); 60 });
回答1件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2018/05/28 15:45
2018/05/28 16:16
2018/05/28 16:24
2018/05/28 16:27