我想制作类似于图像滑块的东西。进入滑块的相同逻辑是我需要的东西。我知道有一百万个插件和教程,但我想要的是从基本的jQuery模式中学习,比如“滑块”或“手风琴”,没有任何毛病。我想查看非常基本的jQuery模式以供学习。
JavaScript Pattern Collection中找到的其中一种模式是我要找的吗?
答案 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冒险。