iOSでSWFが動かないことから、JavaScript で簡単なアニメを作ろうと思っています。
初めてなので、アニメのループ動作に詳しい方教えてください。
(jQueryと合わせて、動作させます)
2個の動作を定義しています。
《動作A》
$(function(){
setTimeout(function(){
$('#photo').animate({
width: "776px",
opacity: 1,
}, 1500 ); },500);
//500遅らせる指示
});
《動作B》
$(function(){
setTimeout(function(){
$('#word').animate({
width: "398px",
opacity: 1,
}, 3000 );
},700);
//700遅らせる指示
});
このうち、動作Bのみを
動作完了 → 1000msec 表示キープ → 3000msec の逆動作で消える → 1000msec 表示無し
これを一連の動作として、ループさせたいのです。
interval 関連のコマンドの説明を見ましたが、自分にはわかりませんでした。
《動作B》に書き足して、ループできるなら、具体的記述で教えてください。
以上、よろしくお願いします。
No.1
- 回答日時:
考え方のみですが…
>動作完了 → 1000msec 表示キープ → 3000msec の逆動作で消える → 1000msec
>表示無し これを一連の動作として、ループさせたいのです。
1)まず、『動作→表示キープ→逆動作』を行う関数を作成します。
2)これを、setIntervalで8000msec間隔で繰り返します。
これで、ほぼご質問のようになると思います。
1)の関数作成の際にアニメーションを順序を保って実行するには、jQueryを用いているようですので、callback関数を利用することで比較的簡単に実現できると思います。
この回答への補足
fujillin 様
自分なりに考えてみました。
>1)まず、『動作→表示キープ→逆動作』を行う関数を作成します。
これを以下のように書きました。
無駄が多いと思いますが、一応動作しています。
(ループ無し、#light 名で定義)
----------------------------------------
//ライトの動き、3000遅れて開始 2000で表示
$(function(){
setTimeout(function(){
$('#light').animate({
width: "770px" ,
height: "25px" ,
opacity: 1 ,
}, 2000 );
},3000);
//3000遅らせる指示
});
//ライトの動き、5000保持
$(function(){
setTimeout(function(){
$('#light').animate({
width: "770px" ,
height: "25px" ,
opacity: 1 ,
}, 5000 );
},5000);
//5000遅らせる指示
});
//ライトの動き、2000で消える
$(function(){
setTimeout(function(){
$('#light').animate({
width: "12px" ,
height: "25px" ,
opacity: 0.01 ,
}, 2000 );
},10000);
//10000遅らせる指示
});
//ライトの動き、5000消えた状態保持 17000で動作完
$(function(){
setTimeout(function(){
$('#light').animate({
width: "12px" ,
height: "25px" ,
opacity: 0.01 ,
}, 5000 );
},12000);
//12000遅らせる指示
});
----------------------------------------
>2)これを、setIntervalで8000msec間隔で繰り返します。
これが、判りません。
4個の動作を束ねて、setInterval指示を色々書きましたが、うまく動作しません。
知識不足です。
そこのところ、教えてください。
No.2ベストアンサー
- 回答日時:
ANo1です。
繰返しの1回分を、setTimeoutなどを利用して書いてしまうとややこしくなります。(出来ないことはないですが…)
普通にanimate関数とそのcallbackを利用して1回分を記述しておいて、それをsetTimeoutやsetIntervalなどで繰り返すのがわかりやすいかと思います。
ANo1もそのようなつもりで、回答いたしました。
(もちろん、方法は他にもいろいろあると思います)
待つ時間や動きの内容がご質問文と補足で違うので、どれが本当なのか不明ですが、とりあえず単純化したサンプルを以下に。
(全角空白は半角に)
$(function(){
//初期設定
var target = $("#light").css({width:0, opacity:0});
//繰り返しの1回分を定義
var repeat = function(){
target.delay(1000).animate({ width: 398, opacity:1 }, 3000, function(){
target.delay(1000).animate({ width:0, opacity:0 }, 3000);
});
}
//repeatを繰り返す
repeat(); //最初はすぐに実行
var intervaId = setInterval(repeat, 8000); //8秒後から繰返し
});
※時間やタイミング、アニメーションの内容などは適宜調整してください。
書き方が、判りにくく済みません。
delayとjQueryのバージョンに問題あるらしく、
教えていただいた状態では動きませんでした。
//繰り返しの1回分を定義 の内部は、前の自前の
無駄の多い書き方を入れたら動作しました。
ちょっと不細工ですが、とりあえず動いているので。
ありがとうございました。
お礼を申しあげます。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- JavaScript html5に変えるとスライドショーが消えてしまった。 3 2022/03/26 19:53
- JavaScript jQueryでのドラッグアンドドロップについて 1 2022/07/07 21:04
- JavaScript jQueryでのドラッグアンドドロップについて 1 2022/07/30 09:10
- JavaScript jQueryでのレスポンシブが綺麗に動かない 3 2022/06/21 11:08
- JavaScript スマフォではボタンを表示させたくない 2 2023/01/20 14:26
- Windows 10 windows10のクリーンインストールが完了出来ない 2 2022/06/04 13:33
- Visual Basic(VBA) EXCEL VBAにて動的にCheckBOXを複数作成し、同BOXにイベントを追加したい 1 2023/03/16 07:05
- JavaScript ソースコードのいじる場所が分かりません。 1 2022/12/23 02:06
- Excel(エクセル) ユーザー関数の自動計算(excel2003) 1 2023/02/06 06:46
- PowerPoint(パワーポイント) ExcelのVBAコードについて教えてください。 3 2022/05/25 14:32
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
【JavaScript】confirmのボタン...
-
読み取り専用が外れない
-
visualwave(smalltalk言語ソフ...
-
【JavaScript】PS3で一部の構文...
-
webシステムでchrome
-
テーブルで作った表をボタン操...
-
HTMLでDBからデータを表形式で...
-
非道式6進カウンタと非同期式10...
-
Ajaxでpostした内容のresponse...
-
http://www.stickerlabo.com/ed...
-
Rを使う際、データを読み込む時...
-
ローカルネットワーク内での502...
-
JavaScriptだけで画像アップロ...
-
Cookieの代用 & ユーザエージェ...
-
非同期通信を使うタイミングが...
-
AJAX通信のエラー処理について
-
コールバック関数
-
携帯でも表示されるカウントダウン
-
【Ajax】改行を含めたデータを...
-
リロードなしのチャットやWebア...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
【JavaScript】confirmのボタン...
-
DirectXとOpenGLはどちらが動作...
-
[JavaScript] preven...
-
webシステムでchrome
-
JQuery サーバー上にアップする...
-
読み取り専用が外れない
-
C言語のif文について教えてくだ...
-
DelphiでSelectDirectoryを..
-
ドラクエがプリセットされてるFOMA
-
gifcatの挙動について
-
ASP.netで作成したシステムのip...
-
エクセルマクロ ガントチャート作成方法について
-
【JavaScript】PS3で一部の構文...
-
imm(日本語入力)が上手く行きま...
-
WEBアプリで右クリックのカスタ...
-
非同期通信を使うタイミングが...
-
HTMLでDBからデータを表形式で...
-
saved from url=(0013)abou
-
リンクを押すとEXEファイルを実...
-
ASP.NET(VB)VBソースからJavas...
おすすめ情報