如果在jQuery中单击,则为div设置动画

时间:2012-06-01 00:22:46

标签: jquery html jquery-animate positioning

所以,我最近一直在研究jQuery,我看到了一些教程,似乎它不起作用。所以这就是我要做的事情..

每当我点击#search_top时,我希望我的#container css属性top为60px,否则为0px。

以下是我使用的内容。

$("#search_top").click(function() {
    if($("#container").top() == 60) {
        $("#container").animate({top:"0px"}, 1000);
    } else {
        $("#container").animate({top:"60px"}, 1000);
    }
});

提前致谢。 :)希望这个问题对你很清楚。

2 个答案:

答案 0 :(得分:1)

您的问题是.top()不存在。您可以改为使用.offset().top

jquery offset()jquery position()

  

offset() - 获取匹配集中第一个元素的当前坐标   元素,相对于文档。

     

position() - 获取匹配集中第一个元素的当前坐标   元素,相对于偏移的父元素。

$("#search_top").click(function() {
    if($("#container").offset().top == 60) {
        $("#container").animate({top:"0px"}, 1000);
    } else {
        $("#container").animate({top:"60px"}, 1000);
    }
});

Live Demo

答案 1 :(得分:1)

也许你应该使用

 if (parseInt($("#container").css('top')) == 60){
   //do stuff
 }

jQuery .css()方法可用于设置或检索css属性。有关详细信息,请单击here