我正在努力实现一些非常基本的东西。我正在使用一个公开可用的jQuery模块(称为slides),但我需要以某种方式对其进行修改,以便我可以从外部控制对象。
现在初始化时如下:
$('#myDivId').slides({
preload: false,
generatePagination: false
});
一切正常,但我以后没有看到任何方式访问幻灯片对象。像这样:
var slideshow=$('#myDivId').slides({
preload: false,
generatePagination: false
});
现在我希望能够做到这样的事情:
slideshow.animate('next');
变量幻灯片的内容不是实际对象。我认为这与jQuery的工作方式有关。
一旦这个工作,我将能够对幻灯片进行更具体的调用,从而使其适应我的'前端使用环境'。
现在我想要的是要返回的实际生成的对象,或者至少在返回的数据中另外可用。
有人能指出我在正确的方向吗?
Click here to see demonstration in jsFiddle
谢谢!
答案 0 :(得分:0)
function slides()
($.fn.slides)
是一个jQuery方法。在jQuery中,jQuery.fn或$ .fn是所有jQuery对象的原型对象。如果向此对象添加函数,则该函数将成为jQuery方法。
使用变量作为jQuery对象,你应该这样做:
var obj = $("#myDivId") // now obj, is a jquery object
你可以用这种方式使用jquery对象方法:
obj.slides();
答案 1 :(得分: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以获取更具体的帮助或要求提供新功能。如果你想要做的事情不是由插件处理的,你必须请求该功能或编辑插件代码(提示:第一个答案更好)
答案 2 :(得分:0)
使用jQuery的触发器方法,我能够模拟幻灯片中某些元素的行为,从而找到一种不需要调用父对象上任何方法的方法。