1

所以,我最近一直在学习 jQuery,我看了一些教程,似乎它不起作用。所以在这里我想做..

每当我单击#search_top 时,我希望我的#container css 属性顶部为 60 像素,否则为 0 像素。

下面是我用的。

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

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

4

2 回答 2

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);
    }
});

现场演示

于 2012-06-01T00:40:13.107 回答
1

也许你应该使用

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

jQuery.css()方法可用于设置或检索 css 属性。欲了解更多信息,请单击此处

于 2012-06-01T00:47:48.500 回答