我一直在寻找一个jQuery选框,虽然听起来很简单,但我找不到任何适合我需求的工作代码。支持从右到左的jQuery选框(从无序列表)
我的要求是:
- 它必须支持方向(特别是从右到左)。
- 它必须支持使用无序列表作为源而不是单个字符串。
- 它应该看起来像经典的选框。
搜索后,我只找到了几个有点适合我正在寻找,但都有着严重的缺陷。
第一个是liScroll虽然看起来不错,但缺乏方向支持。这是默认情况下从左到右,没有选择来改变它。虽然我试图改变代码来支持从右到左,但是,我失败了。
我也试过Giva Labs Marquee Plugin但是它也不支持方向,据我所知。
最后一个是[jQuery WebTicker] [2],乍一看它看起来很完美,结果出现了一个奇怪的错误/行为。当每个项目都很短时,它就可以正常工作,但在我的情况下,每个项目都是非常长的字符串,在这种情况下,它的行为不正常。当每个项目结束时,而不是顺利地在其尾部显示下一个项目,而是显示大量空白空间,并且项目感觉他们跳跃而不是滚动/幻灯片。
我意识到很多人不喜欢一般的跑马灯,但我向你保证,我没有选择这样做。所以请忍受我。
在此先感谢。
编辑: 我已经成功地得到simpleScroll(感谢二十六Wiltink),以大部分工作,但我遇到了一个小问题。我使用“方向:向后”这意味着从左到右滚动文本,但问题是文本从最右侧而不是最左侧滚动,导致列表中的第一项无法查看。
我接过一看JS和我猜测的问题就出在这个部分(else块)线143至162在原来的JS]
if (this.isAuto && this.o.autoMode=='loop') {
this.$list.css(this.dimension,this.posMax+(this.itemMax*addItems) +'px');
this.posMax += (this.clipMax - this.o.speed);
if (this.isForwards) {
this.$items.slice(0,addItems).clone(true).appendTo(this.$list);
this.resetPosition = 0;
} else {
this.$items.slice(-addItems).clone(true).prependTo(this.$list);
this.resetPosition = this.$items.length * this.itemMax;
//due to inconsistent RTL implementation force back to LTR then fake
if (this.isRTL) {
this.$clip[0].dir = 'ltr';
//based on feedback seems a good idea to force float right
this.$items.css('float','right');
}
}
但无论价值我试着修改它结束拧紧它,我假设这是关键部分
this.resetPosition = this。$ items.length * this.itemMax;
但是对这些值的任何修改最终都会造成更多的伤害。我是否在正确的地方工作?或者问题可能完全在其他地方?
对不起,但没有:[我们不做购物请求](http://blog.stackoverflow.com/2010/11/qa-is-hard-lets-go-shopping/) ,他们[非主题](http://stackoverflow.com/faq#dontask)。客观负责的编程问题? [那些我们*做*,并愉快地](http://stackoverflow.com/faq#questions)! – 2013-03-04 15:13:48
你应该尝试在这里寻求帮助之前自己编码... – Stphane 2013-03-04 15:16:05