前端小技巧

2017-02-07  本文已影响51人  Dannn_Y

作为前端新手,总结了一下自己在做项目中,遇到了问题,在这里记录一下解决办法。

计算文字的高度,展开收起

<template>
<div class="des-bd">
          <div class="prd-info">
            <h5>{{ $t("message.productionInfo") }}</h5>
            <div class="more-desc" v-show="showMoreDesc" @click="moreDesc">
              <li class="pull-icon"></li>
            </div>
          </div>
          <div class="text-des">
             <pre class="des-ele" v-html="dealDes(prdInfo.description)"></pre>
          </div>
        </div>
</template>
<script>
dealDes (html) {
        // 设定产品高度为 100rem
        const rem = parseFloat($('html').css('font-size'))
        const minHeight = 100 / 75 * rem
        const ele = $('.des-ele').clone()
        const eleContainer = $('.text-des')

        ele.html(html)
        ele.css({
          position: 'absolute',
          top: 0,
          left: 0,
          opacity: 0
        })

        eleContainer.append(ele)
        const desEleHeight = ele.height() // rem2px
        ele.remove()

        if (desEleHeight > minHeight) {
          eleContainer.addClass('hide')
          this.showMoreDesc = true
        }

        return html
      }
      
moreDesc () {
        $('.text-des').toggleClass('hide')
        $('.pull-icon').toggleClass('transform-pull')
      }
</script>

当键盘弹出时让input标签事情焦点

 $('.recomd-man input').blur()

添加单元格选中的颜色

 $('.subscribe-list').removeClass('active')
 $('.subscribe-list').eq(val).addClass('active')

返回浏览器上一个页面

back():移动到上一个访问页面,等同于浏览器后退键。
forward():移动到下一个访问页面,等同于浏览器的前进键。
go():接受一个整数作为参数,移动到该整数指定的页面,比如go(1)相当于forward(),go(-1)相当于back(),go(0)相当于刷新当前页面,如果需要刷新当前页面可以这样写:

history.go(0)

禁止遮罩视图下面的视图滚动

// 首先定义一个变量函数
const bodyScroll = (event) => {
    event.preventDefault()
 }
 // 在视图要弹出的时候,执行如下方法
 document.addEventListener('touchmove', bodyScroll, false)
 // 这样背景视图cell就不能滑动了,当视图消失的时候我们还是需要底部视图cell列表滚动,这就需要执行如下方法,将此事件移除掉。
 document.removeEventListener('touchmove', bodyScroll, false)
上一篇 下一篇

猜你喜欢

热点阅读