2012-04-21 9 views
2

私はかなり基本的なものを達成しようとしています。私はオープンに利用可能なjQueryモジュール(slidesと呼ばれています)を使用していますが、私は外部からオブジェクトを制御できるようにmodifiyする必要があります。今親オブジェクトを返すjQuery init関数

次のように初期化:

$('#myDivId').slides({ 
    preload: false, 
    generatePagination: false 
}); 

それはすべての作品が、私は、後で上のオブジェクトのスライドにアクセスする方法を見ていないです。このように:

slideshow.animate('next'); 

変数スライドショーの内容が実際のオブジェクトではありません。

var slideshow=$('#myDivId').slides({ 
    preload: false, 
    generatePagination: false 
}); 

今、私はこのような何かをできるようにしたいと思います。これはjQueryの動作と関係があると私は考えています。

これがうまくいくと、私はスライドショーをより具体的に呼び出すことができ、それを私の「フロントエンド使用環境」で正しく動作させるように適応させることができます。

ここで私が望むのは、実際に生成されたオブジェクトが返されるか、返されたデータで少なくともさらに利用可能なものです。

誰でも正しい方向に向けることができますか?

Click here to see demonstration in jsFiddle

ありがとうございました!

+0

私の間違い。 – Ohgodwhy

+0

おそらく、あなたが試したコードを投稿すると、誰かが間違っていることを指摘することができます。 –

+0

スライドショー機能を次のように呼び出します: '$(" myDivId ")。slides(" next ");'あなたがしようとしていることを実証するいくつかのコードが確実に役に立つでしょう。 – Dennis

答えて

0

jQueryのトリガ方法を使用して、したがって、親オブジェクト上のメソッドを呼び出す必要がない方法を見つけることができます。

0

機能slides()($.fn.slides)はjQueryメソッドです。 jQueryでは、jQuery.fnまたは$ .fnはすべてのjQueryオブジェクトのプロトタイプオブジェクトです。このオブジェクトに関数を追加すると、その関数はjQueryメソッドになります。 jQueryオブジェクトとして変数を使用するための


、あなたはこれを行う必要があります。

var obj = $("#myDivId") // now obj, is a jquery object 

、あなたがこのようjQueryオブジェクトのメソッドを使用することができます。

obj.slides(); 
+0

これは良い入力ですが、ありがとうございます。しかし、私はそれを作成した後でも(私の投稿の擬似コードで実証されているように)私はまだ外部からオブジェクトにアクセスすることができないので、投稿を編集して、わかりやすくなるようにします。 – SquareCat

+0

@ user1018787選択された要素がjqueryオブジェクトになり、jqueryオブジェクトのすべてのメソッドを使用できる '$(" selector ")'要素を選択すると、slides.jsプラグインは 'slides () 'メソッドを使用することができ、他のjqueryメソッドのように使用することができます。 – undefined

+0

私はこれを試しましたが、私はちょうどこの方法でオブジェクトの関数にアクセスすることはできません。私は、jsデバッグコンソールからもエラーメッセージを受け取っていません。それは単に関数呼び出しとして登録しません。 – SquareCat

0

これは私の作品たらスライドショーへの特定の呼び出しをより多くすることができるでしょう、それで私の 'フロントエンド使用環境」と呼ばれる。

ちょっと見て

... https://github.com/nathansearles/Slides/blob/master/source/slides.js#L123

は、このヘルプあなたをしていますか?

/* 
Method Calls - The good stuff 
============================================================ 

Play: 
    $("#slides").slides("play"); 

Pause: 
    $("#slides").slides("pause"); 

Stop: 
    $("#slides").slides("stop"); 

Next: 
    $("#slides").slides("next"); 
     - Uses default effect 

    $("#slides").slides("next","fade"); 
     - Define effect, "slide" or "fade" 

Previous: 
    $("#slides").slides("previous"); 
     - Uses default effect 

    $("#slides").slides("previous","fade"); 
     - Define effect, "slide" or "fade" 

Goto a slide 
    $("#slides").slides("slide",2); 
     - Goto slide 2 using default effect 

    $("#slides").slides("slide",4,"fade"); 
     - Define effect, "slide" or "fade" 

Update: 
    $("#slides").slides("update"); 
     - Rebuilds pagination 

Destroy: 
    $("#slides").slides("destroy"); 
     - Removes SlidesJS, returns to predefined state 

Status: 
    $("#slides").slides("status"); 
     - Returns JSON object: 
      { 
       current: 4, 
       state: "playing", 
       total: 7 
      } 

    $("#slides").slides("status","current"); 
     - Returns current slide number 

    $("#slides").slides("status","state"); 
     - Returns playing, paused, or stopped 

    $("#slides").slides("status","total"); 
     - Returns total slides in slideshow 
*/ 

これはあなたが何をしようとしてではない場合、あなたはいつもの例に見てhttp://slidesjs.com/以上の特定のヘルプを取得したり、新しい機能を求めるために、問題https://github.com/nathansearles/slides/issuesを報告することができます。あなたがしたいことがプラグインで処理されていない場合、プラグインコードを編集する必要があります(ヒント:最初の回答が良い)

+0

これもすばらしいことです!ありがとう!問題は、これがベータ版であり、著者がコードを変更したようだということです。実際のライブバージョンはこれらのコールをサポートしていません。私は本当にそれを試みた。また、私はどのような "ステータス"関数を見つけることができませんでした、例えば、現在の元のコードに住んでいる。しかし、このベータコードのどこかには答えがあります。なぜなら、彼がこれらの関数を外部で利用できるようにすると、jQueryクラス/オブジェクト定義内の何かが可能になったに違いないからです。 – SquareCat

+0

まあ私は試していないが、利用可能なすべてのプロパティ/メソッドはここにリストされているようだhttps://github.com/nathansearles/Slides/blob/master/source/slides.js#L534あなたは**シンプルな**を作ることができますjsfiddle私たちはテストするのですか? – pomeh

+0

私はフィドルを作成しました。今私の質問に追加しています。 – SquareCat

関連する問題