2016-10-27 7 views
0

ちょっとした助けが必要です。私は(ウィンドウ).width();を使用して、ページのサイズに応答するために、ボックスの下にアニメートしたい。と(窓)。高さ(); どこで(ウィンドウ).width &高さ関数を実装する必要がありますか?ここで私はこれまでやっていることです:応答性のあるDivのアニメーション

コード:

$(document).ready(function(){ 
      $(".box").click(function(){ 

       run(); 

      }); 
     }); 

     function run(){ 
      var duration=1000; 
      var width=$(window).width(); 
      var height=$(window).height(); 
      $(".box").animate({"marginLeft":"1000px"},duration,function(){ 
       $(this).animate({"marginTop":"600px"},duration,function(){ 
        $(this).animate({"marginLeft":"0px"},duration,function(){ 
         $(this).animate({"marginTop":"0px"},duration,function(){ 
          run(); 


         }); 
        }); 
       }); 
      }); 

     } 

CSS:あなたはちょうどあなたのウィンドウの幅と高さ、高さと幅うちタックを使用する必要が

.box{border:1px solid black; width:200px; height:200px; float:left;} 
+0

あなたのCSS上で 'transition:all 0.8s ease;'効果を適用します – prasanth

+0

@prasad彼はjqueryのアニメーションを使用しているので、必要ありません –

+0

私はページのサイズに基づいて移動するdivを探していますページの幅を600ピクセル、高さを200ピクセルに最小化すると、それらの寸法にアニメートされます。 –

答えて

1

このような箱:

$(document).ready(function() { 
 
    $(".box").click(function() { 
 

 
    run(); 
 

 
    }); 
 
}); 
 

 
function run() { 
 
    var duration = 1000; 
 
    var width = $(window).width(); 
 
    var height = $(window).height(); 
 
    $(".box").animate({ 
 
    "marginLeft": width - 200 //<----- 
 
    }, duration, function() { 
 
    $(this).animate({ 
 
     "marginTop": height - 200 //<----- 
 
    }, duration, function() { 
 
     $(this).animate({ 
 
     "marginLeft": "0px" 
 
     }, duration, function() { 
 
     $(this).animate({ 
 
      "marginTop": "0px" 
 
     }, duration, function() { 
 
      run(); 
 

 

 
     }); 
 
     }); 
 
    }); 
 
    }); 
 

 
}
.box { 
 
    border: 1px solid black; 
 
    width: 200px; 
 
    height: 200px; 
 
    float: left; 
 
}
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script> 
 
<div class="box"> 
 

 
</div>

+0

ボックスはページからちょっと外れていましたが、ページのサイズに応じて幅が動きましたが、高さはありませんでしたか?編集:firefoxは.height()で動作しません。何らかの理由でクロムが働いていても、現在のページサイズの外に約10pxのボックスがあります –

+0

幅から差し引いた数値を調整して、病気にならないようにします。次に、ウィンドウのサイズを変更すると、幅と高さを調整するためにアニメーションの1回の反復が行われます。 $(windows).resize()をチェックすることで解決できます。 – Zorken17

+0

いいえ、私はちょうど "-210"に調整し、それは完全にアニメーション化されました。ご協力ありがとうございました! –

関連する問題