2017-06-14 5 views
1

私はcss、jquery、およびhtmlを使用して学校用のグラフィカルプレゼンテーションを作成しようとしています。画面全体を移動するには四角形が必要です。私はいくつかの調査を行いましたが、animate関数のいくつかのバリエーションを使用しようとしましたが、ウィンドウの左側にしか機能しません。.animateを使用してCSSシェイプを移動する

は、ここに参照のために私のコードです:

var derp = 20; 
 
function scroll() { 
 
    var scrollLeft = Math.floor(Math.random() * 100); 
 
    $('#rectangle').animate({ 
 
    left: scrollLeft "px", 
 
    }, derp, function() { 
 
    scroll(); 
 
    }); 
 
} 
 

 
setInterval(100, scroll());
html, 
 
body { 
 
    width: 100%; 
 
    height: 100%; 
 
    min-height: 100%; 
 
} 
 

 
body { 
 
    background-image: url("background.jpg"); 
 
    background-repeat: no-repeat; 
 
    background-position: right top; 
 
    background-size: cover; 
 
} 
 

 
.rectangle { 
 
    width: 20px; 
 
    height: 100%; 
 
    background: black; 
 
} 
 

 
#rectangle { 
 
    left: 10px; 
 
    position: absolute; 
 
} 
 

 
img, 
 
div, 
 
p, 
 
body { 
 
    margin: 0px; 
 
    padding 0px; 
 
}
<div class="rectangle"></div> 
 

 
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.11.3/jquery.min.js"></script>

+0

私はあなたが私が見ることができる1個の構文エラーを持っている – V3ngence91

+0

私はjqueryのを含む何かを残しているかもしれないと思うが、イムわかりません。ブラウザのデベロッパーコンソール(F12キーを押してから「コンソール」をクリック)をチェックして、その行がどの行にあるかを確認します。また、文法エラーではなく論理エラーではなく、 'setInterval(100、scroll());'は 'setInterval(scroll、100);'でなければなりません。 * then * msの遅延。また、 'setInterval()'を使って '.animate()'補完コールバック*の中から 'scroll()'を呼び出すことも意味がありません。 – nnnnnn

答えて

0

あなただけCSSでこれを行うことができます。

div { 
 
    width: 100px; 
 
    height: 100px; 
 
    background: red; 
 
    position: relative; 
 
    animation: anim 3s forwards alternate; 
 
    animation-iteration-count: 6; 
 
} 
 

 
@keyframes anim { 
 
    from { 
 
    left: 0px; 
 
    } 
 
    to { 
 
    left: 200px 
 
    } 
 
}
<div></div>

+0

しかし、新しいポジションではOPに 'Math.floor(Math.random()* 100)'がありました... – nnnnnn

+0

は、@nnnnnnを移動するかどうかを確認するだけです – V3ngence91

+0

@ V3ngence91 - 私たちは推測することができますが、あなたの心を読んでいないので、実際にランダムな動きが必要だったので、 '.random()'コードが含まれていると考えるのは不合理ではありません。それがテストのためのものだった場合は、その点を明確にするために質問を編集し(おそらくその時点でコードにコメントを追加する)、実際に何を代わりにしたいのかを明確に説明する必要があります。 – nnnnnn

関連する問題