親ウインドウのボタンをクリックすると、
サイズ400×300のサブウィンドウがモニタ画面の左上(0,0)にオープンするようにしました。
このサブウィンドウは、モニタ画面に現れると同時に、
まずは、ツツーッと下にすべってタテ位置のみモニタ画面中央に行き、
行き着いたところで今度は、右方向にツツーッと滑って、
最後にはモニタ画面のど真ん中に配置されるようにしたかったのです。
そこで、サブウィンドウ内には、以下のスクリプト(onload)を書きました。
<script language="javascript">
<!--
var disW= screen.availWidth;
var disH= screen.availHeight;
var cX=disW/2-200;
var cY=disH/2-150;
var pX=0;
var pY=0;
var timerID;
function moveWin(){
if(pY < cY){
pY+=5;
window.moveTo(0,pY);
timerID=setTimeout("moveWin()",1);
}
if(pY==cY){
pX+=5;
window.moveTo(pX,cY);
timerID=setTimeout("moveWin()",1);
}
else{
clearTimeout(timerID);
}
}
//-->
</script>
でも、うまくいきません。
ふたつめのifがいけないのでしょうが、
未熟なためどうしてなのかわかりません。
どなたか、教えてください!
よろしくおねがいします。
No.1ベストアンサー
- 回答日時:
まず、2つ目のif文にelseをつけないと、最後のelseが有効になってしまい、setTimeoutがキャンセルされます。
その次に、pY==cYになることはありませんのでpY>=cYで判定するか、pY==cYになるように作り変える必要があります。
また、こう換えると右へスライドしたウィンドウを停めるところがありませんので、最後のelseはX軸を停める必要があります。
書き換えると以下のようになりました。
----
<script language="javascript">
<!--
var disW= screen.availWidth;
var disH= screen.availHeight;
var cX=disW/2-200;
var cY=disH/2-150;
var pX=0;
var pY=0;
var timerID;
function moveWin(){
if(pY < cY){
pY+=5;
window.moveTo(0,pY);
timerID=setTimeout("moveWin()",1);
}
else if(pY>=cY){
pX+=5;
window.moveTo(pX,cY);
timerID=setTimeout("moveWin()",1);
if(pX>=cX) {
clearTimeout(timerID);
}
}
}
//-->
</script>
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- JavaScript ソースコードのいじる場所が分かりません。 1 2022/12/23 02:06
- JavaScript jQueryでのドラッグアンドドロップについて 1 2022/07/07 21:04
- JavaScript 1日1回引けるJavaScriptおみくじについて 1 2022/12/12 22:28
- JavaScript 画像の表示位置 3 2022/12/23 08:25
- JavaScript スマフォではボタンを表示させたくない 2 2023/01/20 14:26
- JavaScript javascript作成してます。ラジオボタンで判定するコードを書いてます。 1 2023/07/18 11:03
- JavaScript コードレビューをお願いします。 1 2022/07/16 05:38
- JavaScript jQueryでのレスポンシブが綺麗に動かない 3 2022/06/21 11:08
- JavaScript JAVASCRIPT 2 2022/04/15 15:10
- JavaScript ①入力フォーム→②確認表示画面→③送信完了画面のコードを書いているのです、 入力フォームから受け取っ 2 2022/05/10 16:45
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
C#OpenCv V4にのエラーに関する...
-
jQueryのload()を使用して外部...
-
C# 演算 奇数と偶数 表現の仕方
-
Javaで避けるゲームを作ってい...
-
getElementByIdでASP.NETのText...
-
【JavaScript】数当てゲームを...
-
C#で、ContextMenuStripに動的...
-
ASP.NET MVCでObjectをjsに渡す
-
google apps scriptの終了のさせ方
-
JavaScriptで平日のみをカウン...
-
responseTextから連想配列へ
-
VSCODE[Python]の設定について
-
特定のclassを表示、非表示にする
-
JavaScriptで文字列の特定文字...
-
XMLの空白要素をJavas...
-
翌月を取得するGASが分かりません
-
今日で生まれて何日何分何十秒...
-
自分のwebページにtwitterのつ...
-
JAVAScriptでNotePad操作
-
html javascript リンク先アド...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
google apps scriptの終了のさせ方
-
C#OpenCv V4にのエラーに関する...
-
メールフォームの日付入力フォ...
-
GASでundefinedエラーが出ます
-
ジェネレーターの作り方
-
GASでGoogleフォームの自動返信...
-
なぜmatchメソッドがエラーにな...
-
翌月を取得するGASが分かりません
-
ローカルにあるファイルを検索...
-
HTMLで作った時報アプリが動き...
-
ASP.NETのコントロールの値をJa...
-
C# 演算 奇数と偶数 表現の仕方
-
html javascript リンク先アド...
-
gas スプレッドシートがアクテ...
-
javascriptでテーブルに追加し...
-
VSCODE[Python]の設定について
-
JavaScriptで決まった「時刻」...
-
ASP.NET MVCでObjectをjsに渡す
-
イベントが初めの一回しか起き...
-
jqGridについて
おすすめ情報