私はまだJavaScriptを初めて使用します(デザイナーは言うまでもなく、開発者ではありません)ので、ご容赦ください。
私は自分の CSS で乱数を使用したいと考えていましたが、これに適合する唯一の方法は、Javascript を組み込んで乱数を生成し、CSS を変更することでした。アイデアは、いくつかのスライドをアニメーション化して表示し、ホバーすると回転し、別のカテゴリをクリックするとアニメーション化することです。
ロード時とクリック時のボタンからの呼び出しの両方で、ドキュメントで機能させることができましたが、機能させる唯一の方法は、各インスタンスの完全なコードを書き出すことです。毎回同じなので、トランジションタイムなど何かを変える必要があるときは、複数の場所で何度もやり直さなければなりません。今のところ機能しますが、確かに理想的ではありません。
ここに完全なコードを入れるつもりはありませんが (とてつもなく長いので)、ここに例を示します。私はこれを持っています:
$(function() {
$("#printLink").click(function() {
$(".print").each(function() {
$(this).css({
"left":(Math.floor(Math.random()*10)-5),
"bottom":(Math.floor(Math.random()*10)-5),
});
});
$(".web, .motion").each(funtion() {
$(this).css({
"left":(Math.floor(Math.random()*200)-100) + '%',
"bottom":(Math.floor(Math.random()*500)+500),
});
});
});
});
さて、ボタン #printLink と、クラス .print、.web、および .motion を持つ個別のスライド グループがあります (以下のデモ リンクでは、モーション セクションにスライドはありません)。#printLink をクリックすると、.print スライドが表示され、.web および .motion スライドが画面外に移動します。私が言ったように、私はすでにこれをすべて機能させていますが、すべての CSS を何度も指定する必要があります。
私がしたいのは次のようなものです:
function moveIn(){
$(this).css({
"left":(Math.floor(Math.random()*10)-5),
"bottom":(Math.floor(Math.random()*10)-5),
});
}
function moveOut(){
$(this).css({
"left":(Math.floor(Math.random()*200)-100) + '%',
"bottom":(Math.floor(Math.random()*500)+500),
});
}
$(function() {
$("#printLink").click(function() {
$(".print").each(function() {
moveIn();
});
$(".web, .motion").each(function() {
moveOut();
});
});
});
このようにして、毎回同じ CSS 文字列を参照するだけで、コードが一致しない可能性を最小限に抑えることができます。
これは、私が話していることをよりよく理解するための参照リンクです。