摘要:常用的办法是给数组原生的sort方法传入一个函数,此函数随机返回1或-1,达到随机排列数组元素的目的。arr.sort(function(a,b){ return Math.random()>.5 ? -1 : 1;});这种方法虽直观,但效率并不高,经我测试,打乱10000个元素的数组,所用时间大概在35ms上下(firefox,下同)本人一直具有打破沙锅问到底的优良品质,于是搜索到了一个高效的方法。原文见此if (!Array.prototype.shuffle) { Array.prototype.shuffle = function() { for(var j, x...
阅读全文
摘要:此刻我的心情是无奈。。。前天我打算写一个支持多图片同时滚动的类——就像某些网站下面展示友情链接那样的滚动。开始前我计划了一下我要实现的功能。切换效果——只有滚动可以单张图片切换,也可以多张图片切换同时显示图片的张数与每次滚动的图片张数可以自定义根据图片总数+同时显示张数+单次滚动张数,自动插入页码关于第3点说明一下,就是比如我容器宽900,每个图片宽300,那无疑,我可以同时显示3张图片;但我可以每次向左滚动1张图片(或者2张,3张),也就是说不一定每次显示几张就必须滚动几张。写到一半,一个让我郁闷一天的问题来了:如何计算出页码总数?有几个数字是已知的:图片总数,每次显示图片数,每次滚动张数。
阅读全文
摘要:先说一种最普遍的思路:把图片们用ul之类的包起来,并设置float。然后设置这个ul本身为absolute定位,其父标签用relative定位。通过设置ul的left或top值,实现图片队列的滚动效果特点:只操作一个html元素(即上文的ul),对系统开销小;滚到头会回滚;从大序号滚动到小序号也会回滚;从最后序号滚动到第一个,会“咻”的一下把所有中间的图片也路过一次。另一种思路就是我在XScroll.js里实现的思路,所有图片用绝对定位。具体看那篇文章吧。XScroll.js完成后,我始终觉得他的系统消耗是个问题,因为他实现一个图片切换基本上都是同时操作两张图片。所以我想写一个精简版的,但又不
阅读全文
摘要:原XScroll发布文见此:http://www.cnblogs.com/lixlib/archive/2012/03/21/javascript-tupian-qiehuan-xscroll_js.html2012-4-13:加入了交错切换效果。看示例页第一个例子——现在我可以说XScroll.js支持17种切换效果了吗。。。还是心虚所谓的交错切换,就是当前图片向左移动,下一张图片向右移动,各自移动到一半时,就都往回移动,但此时图片叠加顺序改变,下一张图片将覆盖当前图片。交错切换也支持4个方向。交错切换的实现思路:首先,不可避免的要同时操作两张图片:当前图片与下张图片,分别叫curS与nex
阅读全文