0

我想在单击事件上使用 jquery 调整 div 的宽度,但我似乎无法弄清楚确切的语法是什么。

下面是我迄今为止尝试过的一个例子。

$(function() {
    $("#square").on("click", function(){
        if($(this).css("width", "50")){
            $(this).animate({width:"500"}, 1000);
        } else {
            $(this).animate({width:"50"}, 1000);
        }
    });
});

http://jsfiddle.net/4GGP8/

提前致谢。

4

2 回答 2

2

在你的 if 语句中尝试$(this).width() == 50改为,因为首先css();函数也会检索单位,其次你没有像这样在 if 语句中进行比较,如果你应该做任何事情$(this).css('width') == "50px"来检索宽度并比较它。

以供将来参考,您始终可以使用parseInt();摆脱 css 添加的单元,因此这样做也是有效的

if(parseInt($(this).css('width')) == "50")

编码:

$(function() {
    $("#square").on("click", function(){
        if($(this).width() == 50){
            $(this).animate({width:"500"}, 1000);
        } else {
            $(this).animate({width:"50"}, 1000);
        }
    });
});

这是生成的 小提琴

于 2013-04-21T12:49:05.323 回答
0

尝试这个 -

jsFiddle

    $("#square").on("click", function(){
        if($(this).css('width') == '50px'){
            $(this).animate({width:"500"}, 1000);
        } else {
            $(this).animate({width:"50"}, 1000);
        }
    });
于 2013-04-21T12:50:51.010 回答