javascript:花了一天时间解决了本来一小时就能搞定的事

此刻我的心情是无奈。。。

前天我打算写一个支持多图片同时滚动的类——就像某些网站下面展示友情链接那样的滚动。开始前我计划了一下我要实现的功能。

  1. 切换效果——只有滚动
  2. 可以单张图片切换,也可以多张图片切换
  3. 同时显示图片的张数与每次滚动的图片张数可以自定义
  4. 根据图片总数+同时显示张数+单次滚动张数,自动插入页码

关于第3点说明一下,就是比如我容器宽900,每个图片宽300,那无疑,我可以同时显示3张图片;但我可以每次向左滚动1张图片(或者2张,3张),也就是说不一定每次显示几张就必须滚动几张。

写到一半,一个让我郁闷一天的问题来了:如何计算出页码总数

有几个数字是已知的:图片总数,每次显示图片数,每次滚动张数。我用傻瓜式的排列法列举了下面这个数列:

总张数 显示数量 单次滚动 总页码数
10 1 1 10
10 2 1 9
10 2 2 5
10 3 1 8
10 3 2 5
10 3 3 4
10 4 1 7
10 4 2 4
10 4 3 3
10 4 4 3

要一直排下去的话还有很多,比如一次显示5张,6张。。。但郁闷的是,我找不到页码数与前面三个数字的计算关系

从昨天下午算到今天下午,整整一天了。。。有没有数学学的好的帮我看看上面数字的规律呢?都怪我高中数学不及格啊。。

更新:放出算法 —— Math.ceil((总张数 - 显示数量) / 单次滚动 + 1)

已得到评论1楼验证,不过他是1个小时就想出来了,而我用了一天。。。差距啊

posted on 2012-04-18 17:08  十年灯  阅读(616)  评论(3编辑  收藏  举报