1

我在 html 中有动画 div。它每秒向 div 添加 1px,现在我想如果我的 div 的正确位置达到 15,那么一个警报框应该说“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)的控制台中调用的行,它们似乎有效。问题是该函数仅在页面加载时执行一次,即在检查为真之前。

于 2012-06-22T03:21:08.837 回答
1

此函数在页面准备就绪时运行一次,然后不再运行:

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

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

如果你想检查 div 的位置,你必须重复做,也许在移动 div 的同一个函数中。

于 2012-06-22T03:24:16.790 回答