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

$(this).width() == 50代わりにif ステートメントで試してみてください。まず最初にすべての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

これを試して -

jsフィドル

    $("#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 に答える