1

私はたくさん検索しましたが、誰かが以前にこれを行う必要があったと確信しています。これが重複している場合は申し訳ありません. オンラインで見つけることができる最高のコードのコンパイルであると思ったものを取りましたが、何も動作しませんでした。

構造がおそらくかなりずれていることは知っていますが、なぜこれが間違っているのか誰にもわかりません。

$(document).ready(function () {
  $("select[name='selector']").change(function () {
    $(this).children(':selected').hasClass('three') {
      $("#mover").animate({
        "left": "+=50px"
      });
    };
  });
});

実例。

4

3 に答える 3

1

いくつかのこと:

  1. 必要なのは、言語の基本である条件if文です。
  2. leftCSS 属性は、絶対配置が使用されている場合にのみ考慮されます。

コードに関しては、

#mover {
    position: absolute;
}

$(document).ready(function () {
    var $selector = $("select[name='selector']"), $mover = $("#mover");
    $selector.change(function () {
        if ($selector.children(':selected').hasClass('three')) {
            $mover.animate({
                "left": "+=50px"
            });
        };
    });
});

ここで見ることができます。

于 2013-05-14T06:25:36.797 に答える
1
$(document).ready(function() {
    $("select[name='selector']").change(function() {
        if($(".three:selected",this).length>0){       
            $("#mover").animate({"left": "+=50px"});
        };
    });
});

ここ: http://jsfiddle.net/kpT3b/

于 2013-05-14T06:29:39.940 に答える
0
$(document).ready(function() {

$("select[name='selector']").change(function() {

    if($(this).find('option:selected').text() == "three"){

        $("#mover").animate({"left": "+=50px"});

    }
});
});
于 2013-05-14T06:21:00.747 に答える