2

我正在尝试实现一些非常基本的东西。我正在使用一个公开可用的 jQuery 模块(称为幻灯片),但我需要以某种方式修改它,以便我可以从外部控制对象。

现在像这样初始化时:

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

这一切都有效,但我没有看到稍后访问幻灯片对象的任何方法。像这样:

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

现在我希望能够做这样的事情:

slideshow.animate('next');

可变幻灯片的内容不是实际对象。我认为这与 jQuery 的工作方式有关。

一旦这工作,我将能够对幻灯片进行更具体的调用,从而使其在我的“前端使用环境”中正常工作。

现在我想要的是要返回的实际生成的对象,或者至少在返回的数据中额外可用。

谁能在这里指出我正确的方向?

单击此处查看 jsFiddle 中的演示

谢谢你!

4

3 回答 3

0

function slides() ($.fn.slides) is a jQuery method. in jQuery, jQuery.fn or $.fn is the prototype object for all jQuery objects. If you add a function to this object, that function becomes a jQuery method.


for using variable as an jQuery object, you should do this:

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

and you can use jquery object methods this way:

obj.slides();
于 2012-04-21T19:48:46.323 回答
0

使用 jQuery 的触发方法,我能够模拟幻灯片中某些元素的行为,从而找到一种不需要调用父对象上的任何方法的方法。

于 2012-05-13T12:52:52.853 回答
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以获得更具体的信息帮助或要求新功能。如果您想要做的事情不是由插件处理,您必须请求该功能或编辑插件代码(提示:第一个答案更好)

于 2012-04-21T20:05:46.493 回答