图像滑块的逻辑是否是jQuery“模式”?

时间:2013-02-05 03:33:18

标签: jquery design-patterns

我想制作类似于图像滑块的东西。进入滑块的相同逻辑是我需要的东西。我知道有一百万个插件和教程,但我想要的是从基本的jQuery模式中学习,比如“滑块”或“手风琴”,没有任何毛病。我想查看非常基本的jQuery模式以供学习。

JavaScript Pattern Collection中找到的其中一种模式是我要找的吗?

2 个答案:

答案 0 :(得分:1)

我不会将滑块功能称为模式,这更像是一招。 jQuery的模式实际上是有限的(相比于自己的j ..或其他语言,虽然jQuery不被视为语言,因为它是js的衍生作品)

现在jQuery的模式(或者在大多数情况下所有的模式)只是代码组织和代码技巧的一种方式..

存在用于插件创作的jQuery模式...您可以查看this article,或者通过对jQuery Boilerplate进行广泛评论来阅读代码。

回到你的问题,没有没有与核心功能相关的使用模式,但是你可以使用它来组织并在将来拥有更好的可扩展代码。

答案 1 :(得分:1)

图像滑块中没有足够的逻辑来保证正确的软件设计模式。

看一下你的链接,其中许多不是模式,只是你可以在javascript中做的事情的描述

对于图像滑块本身,让我们看两个组件:

用户互动组件:按钮(上一个,下一个)或滑块

图像组件:当前选择的显示图像

您真正需要做的就是存储当前所选图像的索引,并在选择该图像时查找将图像滑块滑动到的x位置。

这是一个粗略的例子:

http://jsfiddle.net/mattdlockyer/bNnEw/

你会发现它在开始时主要是一个功能循环,它正在完成所有的工作并存储正确的索引以将#images div滑动到使用jQuery中的animate函数。当用户与按钮交互时调用此方法,但当滑块触发滑动事件时,可以轻松调用此方法。有关滑块的更多信息,请参见此处:http://jqueryui.com/slider/

我个人会接受所有这些函数式编程并将其放入正确的javascript模块中。查看此链接以获取有关如何使用模块模式的一个很好的示例:http://www.adequatelygood.com/2010/3/JavaScript-Module-Pattern-In-Depth

基本上单独一个图像滑块的概念并不能保证一个模式,但是将它包装在一个模块中以便它可以重复使用的效用,甚至可能在同一页面上重复几次,绝对值得做。

Javascript是一种函数式语言,编写干净,可移植的功能代码有很多“模式”,但它们并不等同于OOP设计模式恕我直言。

享受小提琴,希望这能帮助你进行javascripting冒险。