0

私は本当にjQueryを「取得」しません.DOM属性のクライアント側を変更するためにJSを使用するだけですが、ツールが法案に適合する場合は、それを使用する必要があります. ページで SuperSized スライドショーを実行していて、下部のナビゲーション バーにいくつかのボタンを追加しました。これらのボタンをクリックすると、現在のスライドに関する詳細情報を表示するウィンドウが開きますが、これは「現在の」スライドであるため、ウィンドウが開いている間はショーを停止する必要があります。この停止ビジネスを除いて、すべてが正常に機能しています。私はAPIを参照しましたが、まさにそれを行う呼び出しがあります:

$(element).click(function(){
    api.playToggle();
});

...しかし、別の要素の onClick でこれを呼び出すにはどうすればよいですか? 上記のコードはクリックイベントハンドラーを「要素」に追加していることがわかりますが、この関数をプレーンな古い onClick="" から自分で呼び出す方法がわかりません...

どんな助けでも大歓迎です

ダニー

4

2 に答える 2

0

私はあなたが提案したこのコードを使用しています:

<script type="text/javascript">


$(function($) {
    $('#slideInfo').click(function() {
        api.playToggle();
    });
});

</script>


<div id="btnContainer">
    <a id="slideInfo" href="#">More Info</a>
</div>

モーダルボックスを使用してスライドショーを一時停止します。それは完璧に動作します!

ただし、モーダルボックスを閉じると、スライドショーを再開できません。

余分なコードがありませんか?(以前のユーザーに、これが当てはまるかどうかを尋ねるように書きました)。

どうもありがとう!t

于 2012-07-17T20:50:18.050 に答える
0

クリック イベントを要素にアタッチする必要があります。

http://api.jquery.com/click/

あなたの「ボタン」がリンクであると仮定します。

HTML:

<div id="btnContainer">
    <a id="slideInfo" href="#">More Info</a>
</div>

jQuery:

$(function($) {
    $('#slideInfo').click(function() {
        api.playToggle();
    });
});

これが何をしているのかです。まず、ページの読み込みが完了した後に jQuery を実行する必要があります。それは以下で行われます:

$(function($) {
    //Do this when page/DOM is done loading
});  

jQuery セレクターを使用して、slideInfo の ID を持つ要素を選択します。クリック イベント ハンドラーを要素にアタッチします。クリック ハンドラー内で、要素がクリックされたときに実行するコードを定義します。この場合、スライドショーの再生を切り替えます。api.PlayToggle(); の呼び出し 超大型プラグインの関数がそれを行います。

覚えておくべきことの 1 つは、これによりスライド ショーが一時停止され、詳細情報ウィンドウを表示できるようになることです。このウィンドウをどのように表示しているかはわかりませんが、ダイアログ ポップアップを使用することをお勧めします。ユーザーがこのダイアログ ポップアップを閉じたら、何らかの方法で api.playToggle() 関数を再度呼び出して、スライドショーを再開する必要があります。さらにサポートが必要な場合は、さらに詳しい情報を返信してください。

2番目の質問が何であるか正確にはわかりません。api.playToggle() 関数を起動するボタンをクリックしたときに呼び出される関数が必要だと考えていますが、この関数を他の javascript/jquery コードの別の場所で呼び出すか、別の要素にアタッチする必要もあります。その場合、jquery を次のように変更することを検討してください。

<script type="text/css">
    function ToggleSlideshow() {
        api.playToggle();
    }

    $(function($) {
        $('#slideInfo').click(function() {
            ToggleSlideshow();
        });
    });
</script>

api.playToggle() 関数を起動する ToggleSlideshow() という関数を作成しただけです。次に、クリック ハンドラー関数をアタッチするときに、ToggleSlideshow() 関数を起動するように指示します。これをボタンの onClick プロパティなどにアタッチしたい場合は、次のようにする必要があります。

onClick="javascript:ToggleSlideShow()"

ご質問に正確にお答えできたことを願っています。

于 2012-05-17T19:46:36.933 に答える