0

画面幅に基づいて、シングルクリックアクション用に2つの関数を作成しようとしています:

$(".view_offer_wrapper").click(function(){
    var current = $(".compare_wrapper div:last-child").index(this);
    $(".product_desc_expand").hide();
});

if ($(window).width() < 480) {
  // Different action for same click function
}

最初のクリックは正常に機能し、問題はありません。

ただし、ウィンドウ サイズが 480 未満の場合、if 条件内のクリック関数ではなく、最初のクリックが開始されます。

4

2 に答える 2

3

最初の解決策は、クリック ハンドラー内の状態を確認することです。

$(".view_offer_wrapper").click(function () {
    if ($(window).width() < 480) {
        //action 1
    } else {
        //action2
        var current = $(".compare_wrapper div:last-child").index(this);
        $(".product_desc_expand").hide();
    }
});

2 番目の解決策は、条件に基づいて異なるクリック ハンドラーを登録することです。

if ($(window).width() < 480) {
    $(".view_offer_wrapper").click(function () {
        //action 1
    });
} else {
    $(".view_offer_wrapper").click(function () {
        //action2
        var current = $(".compare_wrapper div:last-child").index(this);
        $(".product_desc_expand").hide();
    });
}

注:ウィンドウのサイズ変更をサポートしたい場合は、最初の解決策を選択する必要があります

于 2013-11-08T05:45:10.547 に答える
1

これを試して

$(".view_offer_wrapper").click(function(){
if ($(window).width() < 480) {
    alert('width less than 480');
   }
 else
 {
     alert('width grater than 480');
 }
});

クリック機能内でif elseを使用できます。

于 2013-11-08T05:49:43.887 に答える