`
jj7jj7jj
  • 浏览: 50045 次
  • 性别: Icon_minigender_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:只在滚动信息,和相册中使用到,表示上一页


焦点图
<div class="slide" slider-list="s1" speed="500" delay="2000" direction="0" shownum="1" mode="focus" eventname="focus_index">

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

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

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

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

direction 方向是垂直还是横向

shownum 显示区域显示几个

mode 目前有focus,marquee,list

<div slider-idxs="s1" class="slide_btn">
<span class="on" slider-idx="0">1</span>
<span slider-idx="1">2</span>
</div>

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

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

滚动信息
<ul slider-list="s2" mode="marquee" shownum="1" direction="1" delay="3000" speed="500" >
<div class="narrow fr">
<span class="up" slider-prev="s2"></span>
<span class="down" slider-next="s2"></span>
...
</div>

slider-prev 向上箭头

slider-next 向下箭头


相册列表
<ul slider-list="s3" speed="500" delay="2000" movenum="3" offset="2" direction="0" shownum="4" mode="list">
    <li slider-idx="0" class="on" style="background-color:red"></li>
    <li slider-idx="1" style="background-color:red"></li>
    ...
</ul>
<input type="button" value="左" slider-prev="s3">
<input type="button" value="右" slider-next="s3">


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
分享到:
评论

相关推荐

    分享一个Vue的slider组件

    在Vue生态中,slider组件是常见的交互元素,常用于展示图片轮播、滑动选择器等场景。本篇文章将深入探讨Vue.js中的slider组件及其开发。 首先,Vue组件是Vue.js的核心特性之一,它允许我们将UI分解为可重用的模块,...

    vb slider 进度条重构

    6. 集成到项目:将重构后的进度条控件整合到实际项目中,替换原有的控件,并确保与其他系统组件兼容。 7. 版本控制:通过`MSSCCPRJ.SCC`文件同步代码更改,以便团队协作和版本追踪。 重构VB的进度条是一个涉及UI...

    vue slider组件

    在Vue生态中,slider组件是一个常见的交互元素,常用于展示图片轮播、滑动选择条等场景。本篇文章将深入探讨Vue slider组件的使用,特别针对初学者。 首先,我们来了解如何安装Vue slider组件。在终端或命令行界面...

    flash怎么用Slider组件控制圆大小及计算周长?.pdf

    Flash 中使用 Slider 组件控制圆大小及计算周长 Flash 中的 Slider 组件 在 Adobe Flash CS6 中,Slider 组件是用来实现动态控制的重要组件之一。通过使用 Slider 组件,我们可以实现圆的大小和周长的实时计算和...

    小程序双向滑动组件双向slider滑动微信小程序组件slider组件

    在微信小程序开发中,`slider`组件是一种常用的交互元素,尤其适用于实现双向滑动功能。在标题和描述中提到的“小程序双向滑动组件”即指的是这个组件,它允许用户通过左右滑动来选择不同选项或者浏览内容。下面将...

    精选_【Cocos Creator实战教程(10)】——UI组件(4)Slider 组件_源码打包

    本教程聚焦于UI组件中的Slider组件,这是一个常用于表示数值范围或进度条的控件。在Cocos Creator实战教程的第十部分,我们将深入探讨Slider组件的使用方法和技巧,帮助开发者更好地理解和应用这一组件。 首先,...

    Unity中使用Ultraleap的Slider组件.zip

    本教程将重点讲解如何在Unity中使用Ultraleap的Slider组件,以实现通过手势控制UI滑块的功能。 首先,确保你已经安装了Ultraleap的Unity插件。这个插件通常可以从Ultraleap的官方网站下载,包含了所有必要的库和API...

    vueslider一个轻量的vue滑动组件

    在给定的标题"vueslider一个轻量的vue滑动组件"中,我们讨论的是一个基于Vue.js的滑动组件——vue-slider。这个组件设计的目标是提供一个轻量级且功能丰富的解决方案,用于在网页中实现滑动效果,无论是用于图片轮播...

    微信小程序第二章 基础组件slider组件

    微信小程序第二章 基础组件slider组件

    微信小程序slider组件使用详解

    本文为大家分享了微信小程序slider组件的使用方法,供大家参考,具体内容如下 效果图 WXML &lt;view class=tui-slider-head&gt;设置step,当前设置步伐为5,当前值:{{slider1}} &lt;view class=tui-slider-box&gt; &lt;slider ...

    vue组件开发之slider组件使用详解

    在Vue组件开发中,Slider组件是一种常见的功能,用于实现滑动轮播效果,通常用于展示图片、内容或信息。本篇文章将详细讲解如何在Vue中开发一个基本的Slider组件。 首先,Slider组件的核心是通过CSS的`transform`...

    vueonlySliderx是一个Vue的移动端Slider组件

    VueonlySliderx是一款专为Vue.js框架设计的移动端滑动组件,它旨在提供高效、灵活且易用的解决方案,帮助开发者在构建移动端应用时轻松实现滑动效果。Vue.js是目前非常流行的一个JavaScript前端框架,以其组件化、轻...

    微信小程序双向滑动slider(区间选择器).zip

    微信小程序的双向滑动slider,也称为区间选择器,是一种常见的用户交互组件,常用于价格范围、评分等需要用户在两个数值之间进行选择的场景。本文将深入探讨如何在微信小程序中实现这样的功能。 首先,我们需要了解...

    小程序 自定义slider组件音频播放实例

    上面两篇文章介绍了一下自定义的progress 和 slider 组件,这篇文章介绍一下slider组件应用的实例 代码可在文末下载 这里的音频播放用的是后台音频播放的API:   wx.getBackgroundAudioManager() 在js文件中初始化这...

    React-slider:React的Slider UI组件

    rc滑块React的Slider UI组件屏幕截图特征支持IE9,IE9 +,Chrome,Firefox和Safari安装npm install --save rc-slider用法import React from 'react' ;import ReactDOM from 'react-dom' ;import Slider , { Range } ...

    一个可双向滑块选择器的微信小程序组件double-sided-slider-master.zip

    "double-sided-slider-master.zip" 提供了一个可双向滑块选择器的组件,适用于那些需要用户同时选择两个范围或者数值的情况,比如日期区间、价格范围等。下面将详细解释这个组件的核心知识点: 1. **组件结构**: ...

    Python使用Slider组件实现调整曲线参数功能示例

    本文实例讲述了Python使用Slider组件实现调整曲线参数功能。分享给大家供大家参考,具体如下: 一 代码 import numpy as np import matplotlib.pyplot as plt from matplotlib.widgets import Slider,Button,Radio...

Global site tag (gtag.js) - Google Analytics