首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 网站开发 > Web前端 >

slider组件重构

2013-12-02 
slider组件重构【原创】今天把网站的slider组件统一了一下,心得总结1。像一般焦点图,滚动字幕,相册列表,包括

slider组件重构【原创】
今天把网站的slider组件统一了一下,心得总结

1。像一般焦点图,滚动字幕,相册列表,包括自定义滚动条,其实原理都是一样,组件的内部逻辑是可以共用的,不必弄很多组件出来,一个JS就可以搞定

2。对于组件我的习惯用法是直接绑定自定义属性,让页面加载之后自动执行,不需要想JQUERY组件一样,还需要穿一些配置参数进去,其实参数可以直接写入标签的自定义属性上面

效果:
http://ceshi.sgamer.com/test/slider.html

优点:
1.加载即执行,页面上可以存在N个slider组件
2.无需添加初始化代码
3.用自定义事件用来解耦,切换会触发change_silder事件
4.方法拆的很细,添加新的组件,写少量JS即可完成

描述:
最为复杂也是功能最为强大的一个,将滚动的算法和逻辑包装成统一模块,功能包含焦点图,滚动信息,相册列表

一共标签分为:slider-list,slider-idxs, slider-idx, slider-scroll, slider-prev, slider-next

slider-list: 所有的配置信息都将配置在这个标签上,滚动滑块不管怎么样的表现形式,列表结构都是差不多

slider-idxs:只在焦点图中使用,存放焦点图button列表的容器,可以是小方块也可以缩略图

slider-idx :只在焦点图,和相册中使用,用来标记列表项,做关联使用

slider-scroll:滑块的滚动条事件

slider-prev:只在滚动信息,和相册中使用到,表示上一页

slider-next:只在滚动信息,和相册中使用到,表示上一页


焦点图


slider-list slider组件列表块都是依据这个id名来做关联的

eventname 因为列表分分两种情况,一种是静态,一种是动态写入,对于动态写入,就必须要加eventname属性,里面值为自定义事件的名字,动态写入后
SG.PAGE_EVENT.fire("focus_index",{});即可

speed 执行动画的毫秒数,设置越大,动画效果越慢,相反则越快

delay 只在mode为focus,marquee时候有效,延迟多少秒执行播放

direction 方向是垂直还是横向

shownum 显示区域显示几个

mode 目前有focus,marquee,list


slider-idxs 为焦点图的按钮部分

slider-idx 为单个按钮项,下标从0开始,当前选中,组件会默认给加上on的央视名嘴

滚动信息

slider-prev 向上箭头

slider-next 向下箭头


相册列表


movenum 只在mode为list时候有效,每次移动几个图片,当movenum大于shownum,则movenum默认被设置为shownum
offset 只在mode为list时候有效,代表点击图片时候效果,默认为1,既是指点击末尾两端最后一张图片会有效果,如果设置成2,点击末尾两端最后两张会有动画效果
通过id关联,slider-idxs="s1" ,slider-list="s1" , slider-prev="s1" ,slider-next="s1" 必须唯一



注:如果要使用组件的话,做以下处理,引用JQUERY文件即可
SG   替换为   $
SG.PAGE_EVENT.on  替换为  $(document).bind
SG.PAGE_EVENT.fire  替换为  $(document).trigger

热点排行