質問

私はfancyboxに問題がある。
私はfancyboxが開かれたときに実行する関数を書きたいです。いつ、どのように関数を呼び出すには?

例:

function myFunc() {
    alert("Opened!");
}

$('.content a').fancybox({ 
    'hideOnContentClick': false ,
    'callBackOnShow': myFunc(), // This not working! It call function when page is loaded
    'frameWidth': 920,
    'frameHeight': 530
});
役に立ちましたか?

解決

その代わりmyFunc()利用myFuncの。 JavaScriptでは、括弧(および/または引数)との機能は、あなたがそれを呼び出すようにしたいことを意味します。それらなしの関数名はあなただけ

(おそらくあなたから欲しいものをfancyboxである)、その関数への参照をしたい意味します

他のヒント

この作品

$("#element").fancybox({
    onStart     :   function() {
        return window.confirm('Continue?');
    },
    onCancel    :   function() {
        alert('Canceled!');
    },
    onComplete  :   function() {
        alert('Completed!');
    },
    onCleanup   :   function() {
        return window.confirm('Close?');
    },
    onClosed    :   function() {
        alert('Closed!');
    }
});

afterShowまたはbeforeShowを使用しているどのように動作させるために、最新の方法:

$("a#registrace").fancybox({
  beforeShow   : function() {
    alert('its working!');
    validate_reg_form();
  }
});

私はAJAXを通じて登録フォームをロードしていると私は、フォームの検証を有効にする必要があります。両方の場合(前後)で、コンテンツが既にロードされている。

実際には、ドキュメントをチェックするには、あなたのオプションリストのタイプミスを持っている...

(小文字のb)にあなたがcallBackOnShowているが、それはcallbackOnShowする必要があります。

これは次のようになります。 -

function myFunc() {
    alert("Opened!");
}

$('.content a').fancybox({ 
    'hideOnContentClick': false ,
    'callBackOnShow': myFunc, // no brackets
    'frameWidth': 920,
    'frameHeight': 530
});

それとも、あなたは無名関数を作ることができます...

$('.content a').fancybox({ 
    'hideOnContentClick': false ,
    'callBackOnShow': function() { alert('hello'); },
    'frameWidth': 920,
    'frameHeight': 530
});
'callbackOnShow': myFunc
オプションとして

下ケースB、大文字と小文字が区別され そしてmyFuncというには括弧は、オプションとしての機能を渡したいと、それを呼び出すません。

あなたのタイトルは「jqueryの - fancyboxとコールバック」言うように、あなたは、タブのコールバックの下にfancybox 2プラグインのコールバックオプションの完全なリストは、

http://fancyapps.com/fancybox/#docsする

あなたは新しいプラグインは、より多くのコントロールで、より優れた機能を備えていて、多分fancybox2にアップグレードします。

、古いfancyboxを使用している場合
ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top