HTML5实现webApp中图片轮播的效果(一)之基本使用

原文地址为: HTML5实现webApp中图片轮播的效果(一)之基本使用

最近开始用h5做一款BBS类的webapp,做好后嵌入公司的其他几个Android或ios应用中,这差不多算是混编开发了吧
在我看来,原生app和webapp各有优缺点,原生应用赢在稳定性好、用户体验度高,而webapp则在跨平台性、灵活度方面更胜一筹,随着近几年h5的火爆,webapp也越来越受大家的关注,如果你够仔细的话,你会发现现在很多牛b的app全都采用原生+webapp的方式来开发,我觉得,这种混编的开发模式,一定是未来移动端开发的主流方向。

对这方面感兴趣的可以看看这个知乎话题:
Web App 和 Native App,哪个是趋势?

好了,下面进入正题吧:
HTML5实现webApp中图片轮播的效果
开始的第一天,就遇到了这个问题,作为一个展示类的应用,首页再怎么也得放个轮播图片不是么?
如果说是用Android原生做的话,网上随便一抓一大把轮播图片的自定义控件,拿来稍微研究下改吧改吧马上可以用,可是如果用html却不是那么容易了。

之前使用fullPage.js做过一个应用的引导页,这个插件也可以实现轮播滑动等效果,然后就想当然的拿来用了,结果试了一上午,才发现有些问题了,因为这个插件本身的定位就是全屏显示内容的,所以我想要的首页1/3大小的图片轮播功能怎么也实现不了。但是不得不说,用fullpage做大图全屏的网页简直太赞了,很好用的,也很简单,感兴趣的直接戳上面链接去学习。

然而天无绝人之路,同事给我介绍了又一款可以用html实现图片轮播效果的插件iSlider.js,其实一开始我是拒绝的,我也不知道为什么,就是感觉不想用他,结果无奈带着依然拒绝的情绪开始使用这款插件,事实证明我为这种情绪付出了代价:因为少粘贴了几行css代码又折腾了大半天的时间,这是后话了。

开始介绍之前,先贴上该插件github上的地址:
iSlider.js中文文档

iSlider.jsDEMO及示例说明

其实使用起来还是蛮简单的,最重要的是首先对他有一个相对清晰的了解,说白了其实就像Android中的listview一样,你得准备一个listview、准备一些数据、再准备一个adapter,只不过这里的adapter就是这个插件而已了

下面直接从文档中扒出使用的方法:
这里写图片描述

这里写图片描述

看到这里,我相信只要有一些js基础的人应该都能大概理解这款插件的基本用法了吧
当然了,想实现自动轮播等动画效果功能,还需要继续往下配置:
这里写图片描述

以下是所有关于关于轮播图片的配置参数,

animateType
{String}
动画效果
目前支持:default(卷动)、rotate(旋转)、depth、flow、flip、card、fade(渐显/隐)、zoomout(向外/内缩放)
前置条件:载入效果库 iSlider.animate(.min).js
默认:”default”

animateTime
{Number}
动画效果持续时间
单位:毫秒
默认:1000

animateEasing
{String}
动画效果曲线
可选 linear、ease、ease-in、ease-out、ease-in-out,甚至cubic-bezier
默认:ease

isAutoplay
{Boolean}
开启/关闭自动滑动模式
默认:false(关闭)

duration
{Number}
自动播放时,场景停留时间
每个场景停留时间,结束时会切换至下一场景
单位:毫秒
前置条件:isAutoplay === TRUE

isLooping
{Boolean}
循环播放模式
默认:false(关闭)

dampingForce
{Number}
阻尼力度, 非循环模式下,首尾场景的回弹效果阻尼系数
值域: 0 ~ 1,数值越大滑动距离越小(越难以滑动)
默认: 0
前置条件: isLooping === FALSE

isVertical
{Boolean}
垂直滑动模式
默认:false(关闭)

isOverspread
{Boolean}
背景平铺
如果场景为图片模式(URL),使用CSS3背景的方式填充场景
默认:false(关闭)

isTouchable
{Boolean}
触屏事件
默认:true(开启)

isDebug
{Boolean}
开启/关闭调试模式,会打印更多日志信息
默认:false(关闭)

initIndex
{Number}
首屏所使用的数据列表索引
默认:0

fingerRecognitionRange
{Number}
误触识别范围,大于范围值的touchMove被视为有效滑动距离
默认:10(px)

fixPage
{Boolean|Array|String}
原生事件阻止
场景内屏蔽原生事件的触发,如:滚动、拖拽、缩放等
“A”元素,阻止,移动端建议使用自定义的tap(touch系事件联合判断)
对表单类元素”SELECT”、”INPUT”、”TEXTAREA”、”BUTTON”、”LABEL”,任何情况下均不进行阻止
*排除策略:若参数类型为字符串(规则,querySelector选择器字符串)或数组(多个规则),此选项为开启状态(true)并排除复合规则的元素,与iSlider.FIX_PAGE_TAGS相同对待
默认:true(开启)

fillSeam
{Boolean}
填补场景间接缝
在某些系统的浏览器中存在的渲染问题,造成场景间出现一条缝隙,这种情况在场景设置了背景色并且使用相连的切换效果时尤为明显。
默认:false(关闭)

plugins
{Array}
启用插件并配置初始化参数
传入欲激活的插件名称列表:[‘dot’, ‘button’, ‘zoompic’, …],另外,支持传入初始化参数:[…, [‘zoompic’, {zoomFactor: 2}], …]
若插件未被载入或不存在则忽略

========================================
看似差不多了吧,高大上的图片轮播效果已经按自己想象中的出来了吧,但是,你以为这就完了吗?Too Young
1、从接口中动态加载需要呈现的图片以及相关的内容数据
2、想点击图片转到相应的页面,为什么点击事件失效了?
3、可以点击了,但是图片在容器中却不能固定了,不小心会拖动很难看?
等等…

敬请期待下期:HTML5实现webApp中图片轮播的效果(二)之爬坑经历


转载请注明本文地址: HTML5实现webApp中图片轮播的效果(一)之基本使用
  • 2
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
### 回答1: 基于Vue打造抖音WebApp实现滑屏效果可以通过以下步骤来实现。 首先,我们需要引入Vue及其相关组件和插件,如Vuex、Vue Router等,以便搭建基本的开发环境。 接着,我们需要准备数据,包括视频列表、用户信息等。可以通过API接口或者本地模拟数据进行获取。 然后,我们可以使用Vue Router来搭建页面路由。根据抖音的设计,通常会有首页、个人页面、消息页面等。我们可以创建对应的组件,并设置相应的路由导航。 接下来,我们可以使用Vuex来管理全局状态。抖音的滑屏效果通常涉及到视频的播放状态、用户的点赞、关注等操作。使用Vuex可以方便地统一管理这些状态,并实现不同组件间的通信。 然后,我们可以使用Vue的动画机制来实现滑屏效果。通过监听用户的手势事件,可以判断用户的滑动方向和距离,从而实现视频的滑动效果。可以使用Vue提供的transition组件实现过渡效果,使滑动更加平滑自然。 最后,根据抖音的设计,我们还可以添加一些额外的功能,如视频的点赞、评论,用户之间的关注等。可以通过与后端的交互来实现这些功能,并更新页面的数据。 综上所述,基于Vue打造抖音WebApp实现滑屏效果需要引入Vue及其相关组件和插件,准备数据,搭建页面路由,使用Vuex管理全局状态,利用Vue的动画机制实现滑屏效果,并根据抖音的设计添加额外的功能。 ### 回答2: 抖音是一款非常流行的短视频APP,其具有独特而吸引人的滑屏效果。在基于Vue框架打造抖音WebApp时,我们可以通过使用一些已有的插件和组件实现滑屏效果。 首先,我们可以使用Vue的vue-awesome-swiper插件来实现滑屏效果。该插件是一个基于Swiper的Vue组件,可以实现多种滑动效果。我们可以将它引入项目,并根据需求进行配置,例如设置滑动方向、轮播间隔时间、是否自动轮播等。 其次,为了模拟抖音的滑屏效果,我们可以使用Vue的过渡动画效果实现滑动时的平滑过渡效果。可以在滑动过程使用transition组件,并设置过渡效果的名称、持续时间等参数,实现滑动时的流畅过渡效果。 另外,为了更加贴近抖音的滑屏效果,我们还可以添加一些交互和动画效果。例如,在滑动到某个视频时,可以添加缩放或旋转动画效果,以增加视觉效果和用户体验。 总结来说,基于Vue打造抖音WebApp实现滑屏效果,我们可以使用vue-awesome-swiper插件来实现基本的滑动功能,结合Vue的过渡动画效果实现平滑过渡效果,同时通过添加交互和动画效果来增加视觉效果和用户体验。这样就可以实现一个基于Vue的抖音WebApp,并能够呈现独特而吸引人的滑屏效果

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值