2017-03-13 34 views
0

特定のボタンがクリックされた場合、または特定のクエリ文字列が現在のURLにある場合は、関数を実行します。URLのクリック文字列またはクエリ文字列の場合

これは私の現在の関数である:

$('#layout-toggle-01').on('click', function() { 
    $(this).addClass('layout-active').parents('#events-cal').attr('class', 'events-3-col'); 
    $('#layout-toggle-02, #layout-toggle-03').removeClass('layout-active'); 
    $('#events-cont-02, #events-cont-03').hide(); 
    $('#events-cont-01').fadeIn(); 
    // Run 4:3 image height function 
    fourThreeHeightFn(); 
    }); 

が、私はこの関数にif(window.location.href.indexOf("?view=columns") >= 0)条件を追加することができ、または私は別の関数が必要なのでしょうか?どちらかのa)は、正しいクエリ文字列があるか、b)の要素がクリックされた場合は、物事の様々なをしたいよう

+1

確かに...どうしてですか? –

+0

@ KobyDouekさて、具体的には、どちらかの条件が満たされた場合に関数が実行されるようにするための構文を探しています。 –

+0

したがって、(window.loca ....)の場合にのみ関数を実行しますか? –

答えて

1

を実行する可能性があります。私はあなたがしたいことである機能を定義することから始めます。したがって、次のようになります。

var doStuff = function() { 
    $('#layout-toggle-01').addClass('layout-active').parents('#events-cal').attr('class', 'events-3-col'); 
    $('#layout-toggle-02, #layout-toggle-03').removeClass('layout-active'); 
    $('#events-cont-02, #events-cont-03').hide(); 
    $('#events-cont-01').fadeIn(); 
    // Run 4:3 image height function 
    fourThreeHeightFn(); 
} 

次に、要件に基づいてその関数に呼び出しを追加します。それはあなたがレイアウトを切り替えるには、何かを構築しているように、あなたが必要なクラスを変更することに渡されたパラメータの値を使用するようにdoStuff機能をリファクタリングではなく、コーディング可能性が見えますので

$(function() { 
    if (window.location.search.indexOf('columns') > 0) { 
     doStuff(); 
    } 

    $('#layout-toggle-01').on('click', function() { 
     doStuff(); 
    }); 
}); 

:だからあなたのような何かを得ます特定のid値で

+0

これは、私が心に留めていたよりも清潔であり、理にかなっています。ありがとう! –

1

しかし、これはそれが聞こえる2回..

$('#layout-toggle-01').on('click', function() { 
    func($(this)); 
     }); 

    if(window.location.href.indexOf("?view=columns") >= 0){ 
    func($('#layout-toggle-01')); 
    } 

    function func(e){ 
     e.addClass('layout-active').parents('#events-cal').attr('class', 'events-3-col'); 
     $('#layout-toggle-02, #layout-toggle-03').removeClass('layout-active'); 
     $('#events-cont-02, #events-cont-03').hide(); 
     $('#events-cont-01').fadeIn(); 
     // Run 4:3 image height function 
     fourThreeHeightFn(); 
     }