当前位置: 首页 > news >正文

网站建设预算/免费p站推广网站入口

网站建设预算,免费p站推广网站入口,做卡盟网站,wordpress 用户组优化 目录 动画 为了美观一点,目录显示一闪一现有点突兀,考虑人的感官的舒适度,我觉得给目录加一个左移动的动画即可。因为这个目录是用组件写的,小程序最近发展的比较快,18年的时候还不太支持组件开发,现…

优化

目录 动画

  • 为了美观一点,目录显示一闪一现有点突兀,考虑人的感官的舒适度,我觉得给目录加一个左移动的动画即可。
  • 因为这个目录是用组件写的,小程序最近发展的比较快,18年的时候还不太支持组件开发,现在就已经有支持了,并且用过之后感觉还不错。
  • 这里就不太赘叙组件的写法了,主要是如何给组件写动画的效果。
    组件的wxml
<view class="marsk" bindtap='backtoContent' animation="{{ani2}}" hidden="{{show}}"></view>
<view class='bg' style="left:-500rpx;" animation="{{ani1}}"><view class='top'><view class='iconfont icon-back iconposition' bindtap='backtoContent'></view><view class='mulu'>目录</view></view><scroll-view scroll-y class='directory-list'><view style='width:100%;height:auto;'><view wx:for="{{contentList}}" wx:key="{{item.title}}" wx:for-item='item' wx:for-index='index' data-index='{{index}}' class='directory-item {{readnow==index? "reading":""}}' bindtap="onclickList">{{index+1}}.{{item.title}}</view></view></scroll-view>
</view>

<view class="marsk" bindtap='backtoContent' animation="{{ani2}}" hidden="{{show}}"></view>
这个是处于背后的蒙版,为了防止目录显示的时候用户点击触发页面的其他按钮。这里也添加了一个点击蒙版就会收起目录的事件。我们就介绍下蒙版的动画效果,通明度从0到1。

      var animation2 = wx.createAnimation({duration: 5000,timingFunction: 'ease'});       // 目录蒙板动画animation2.opacity(0.5).step()this.setData({ // 目录蒙板动画ani2: animation2.export()});

同理我们绑定目录左移动的动画效果

        var animation = wx.createAnimation({duration: 1000,timingFunction: 'ease'});let xChange = 500 / 750 * wx.getSystemInfoSync().windowWidth// 因为目录元素是left:-500rpx的,但是animation的值是px所以需要转换 公式为 设备宽度/750 * 500 等于每一个设备的500rpx的px的值if (this.data.show) { // 需要判断状态,收起和打开是相反的方向移动animation.translate(xChange, 0).step()} else {          animation.translate(-xChange, 0).step()}

请求优化

由于每个markdown文件都是比较大的,如果文章一下子加载可能会出现卡顿,或者是闪退,所以为了防止这些情况发生,我们将每一个章节进行分页.

分析分页规则

我们通过输出通过请求的markdown文件中的res.data,就会发现其实就是markdown文章的语法.。
在这里插入图片描述
而每一个markdown语法中就有章节分号了,我们就选区##这个语法进行分页。
由于markdown文件中出了##之外还有####等,所以通过简单的string.split("##")是不行的。
这里就需要使用到正则运算,split()也支持正则,所以就可以快速得到每一章的分页内容。

     var pattern = /\s##\s/ // 只匹配以非字符结尾开头##非字符结尾这2个字符,这样就可以避免了其他#的情况for (var _index in allArticle) {if (_index === 0 || _index === '0') { // 开头不需要处理} else {allArticle[_index] = `## ${allArticle[_index]}` // 由于split()会讲原本的##的去掉,所以需要补回}}var data = app.towxml.toJson(allArticle[0], 'markdown'); // 这样就可以通过分页加载每一章了

我们只需要添加2个ui按钮,就可以进行切换页面。
在这里插入图片描述

    data:{allArticle:[], // 每一章的全部页面内容allArticleLength:0,// 每一章的页数characterIndex:0// 当前页数},onclickIcon: function (e){  debounce.debounce(()=>{let dir = e.target.dataset.dirlet index = this.data.characterIndex, length = this.data.allArticleLengthif (dir === 'right') {if ((index + 1) < length) {index = 1 + index} else {index = length - 1}} else if (dir === 'left') {if ((index - 1) < 0) {index = 0} else {index -= 1}}// 更新文章内容this.updateArticle(index)this.setData({characterIndex: index,})    },1000)  },updateArticle(index){let data = this.data.allArticle[index]data = app.towxml.toJson(data, 'markdown');this.setData({article: data,})},

防抖

由于服务器比较菜,所以为了避免因为点击多次造成的多次请求,所以需要对请求进行防抖

	onclickList(e){debounce.debounce(()=>{let index = e.detail.indexwx.showLoading({title: '加载中……',})this.requireData(this.data.directoryList[index].markdownUrl, index)}, 1000)},function debounce(fn, gapTime) {let timeout = new Date().getTime()if (timeout - this.lastTIme > gapTime || !this.lastTIme) {fn()this.lastTIme = timeout} else {return}}
http://www.lbrq.cn/news/735085.html

相关文章:

  • 华大集团 做网站/软件推广赚钱
  • 安徽炒股配资网站开发/百度广告开户流程
  • wordpress修改时区/长沙网站优化对策
  • wps2016怎么做网站/百度推广seo怎么学
  • app和网站的区别是什么/免费友链平台
  • 长沙做官方网站/站长工具seo下载
  • 外国人学做中国菜的网站/seo原创工具
  • 公益事业做网站/刷神马seo排名首页排名
  • 提高网站建设水平/网站关键词免费优化
  • 网站怎么做抽奖/网站建设一条龙
  • 长治市人民政府门户网站/北京网站建设公司
  • 网站开发技术论文/seo chinaz
  • 做企业网站有哪些系统/高端seo服务
  • 给自己的网站起名字/经典软文广告案例
  • 网站一般用什么做的/重庆百度快速优化
  • 北京网站制作公司哪家好/宝鸡seo
  • 做商城网站都需要什么/东莞网站建设制作
  • 网站建设怎么样找客户快/网站设计说明
  • 朋友说是做彩票网站运营维护/淘宝产品关键词排名查询
  • 用c语言做网站/东莞seo公司
  • 网页设计作业报告范文/对seo的理解
  • 建行国际互联网网站/营销技巧有哪些
  • 中山网站网站建设/外贸推广方式
  • 武汉网站建设公司排名/百度最新版本2022
  • 宝安小学网站建设/全网营销平台
  • 摄影工作室网站建设模板/制作网站的软件叫什么
  • 住房城乡建设局网站首页/企业网站推广优化公司
  • 怎样做网站流量统计/百度推广需要多少钱
  • 企业网站微信公众号的建设事迹/发免费广告电话号码
  • 网站初期建设的成本来源/seo诊断书
  • 在互联网大厂的Java面试:谢飞机的搞笑历险记
  • 中国之路 向善而行 第三届全国自驾露营旅游发展大会在阿拉善启幕
  • 教育场景下禁用html5播放器拖动进度条的例子
  • GO学习记录七——上传/下载文件功能,添加启动运行工具
  • CAT1+mqtt
  • 8.20网络编程——sqlite3数据库