1

私はhtmlでdivをアニメーション化しました。毎秒1pxをdivに追加しています。これで、divの正しい位置が15に達した場合、1つのアラートボックスに「hiii」と表示されます。小さな関数を作成しましたが、機能していません。

<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>Untitled Document</title>

<style>

.wrap { border:solid 1px #F00; width:1000px; height:300px; overflow:hidden; position:relative}

.box { width:200px; height:200px; background:#00F; position:absolute}
</style>


<script type="text/javascript" src="jquery-1.7.2.js"></script>

<script type="text/javascript">


var left=5; 

$(function aniMation(){




    $('.box').css({right:++left})
    setTimeout(aniMation,1000)  

    })



$(function (){

    var box= $(".box").css("right")

    if(box=="10px"){

        alert("hiii")

        }


    })





</script>


</head>


<body>

<div class="wrap">

<div class="box"></div>

</div>

</body>
4

2 に答える 2

3

ページの読み込み以外で実際にその関数を呼び出しているとは思いません。

ドキュメントから:


jQuery(コールバック)

$(document).ready()の省略形。DOMドキュメントの読み込みが完了したときに実行される関数をバインドできます。


ブラウザ(Google Chrome)のコンソールで呼び出す行を確認しましたが、機能しているようです。問題は、関数がページの読み込み時に1回だけ実行されることです。これは、チェックが真になる前です。

于 2012-06-22T03:21:08.837 に答える
1

この関数は、ページの準備ができたときに1回実行され、その後は二度と実行されません。

$(function (){
    var box= $(".box").css("right")

    if(box=="10px"){
        alert("hiii")
        }
    })

divの位置を確認したい場合は、おそらくdivを移動しているのと同じ関数で、繰り返し確認する必要があります。

于 2012-06-22T03:24:16.790 に答える