美文网首页
两大问题的解决方案

两大问题的解决方案

作者: 就是markdown | 来源:发表于2016-10-13 02:07 被阅读0次

型号、备注过长情况下的自适应方案

原图

Paste_Image.png

最终效果图

Paste_Image.png Paste_Image.png

方案:

等待数据加载完毕后,分别去获取“售价”、“数量”、“总价”所在DOM的宽度(需要完全显示的区域)以及容器的宽度,然后这两个值算出需要调整的区域的宽度。

技术难点:

  1. 由于订单详情页面中商品的“总价”是根据“数量”和“售价”计算得到的,该计算过程完成后组件才会更新视图,因此获取DOM的宽度的时间点必须在计算完成后进行。在Vue里需要用到$nextTick()方法
Paste_Image.png
  1. 固定宽度,多余文字显示成省略号的使用方法
    要求外层div固定宽度,内层以下css类
.ellipsis{
    white-space:nowrap;
    overflow:hidden;
    text-overflow: ellipsis;}

意外的坑:

  1. 如果组件的模板的最外层的div有v-if,那么this.$el获取的element是一个注释<....v-if...>,解决方案是在外面再套一层div

特殊的滑动图片方法导致的bug

现象就不贴图了,观察到主要触发条件是有个过度向下拉动并滑动的操作,因此考虑禁止微信浏览器在该页面的过度向下拉动。

代码

var overscroll = function(el) { el.addEventListener('touchstart', function() { var top = el.scrollTop , totalScroll = el.scrollHeight , currentScroll = top + el.offsetHeight; //If we're at the top or the bottom of the containers //scroll, push up or down one pixel. // //this prevents the scroll from "passing through" to //the body. if(top === 0) { el.scrollTop = 1; } else if(currentScroll === totalScroll) { el.scrollTop = top - 1; } }); el.addEventListener('touchmove', function(evt) { //if the content is actually scrollable, i.e. the content is long enough //that scrolling can occur if(el.offsetHeight < el.scrollHeight) evt._isScroller = true; });}overscroll(document.querySelector('.scroll'));document.body.addEventListener('touchmove', function(evt) { //In this case, the default behavior is scrolling the body, which //would result in an overflow. Since we don't want that, we preventDefault. if(!evt._isScroller) { evt.preventDefault(); }});

参考代码地址: http://www.jianshu.com/p/2eddee561971

使用方法

给组件模板的最外层增加scroll类,然后将该代码放在合适的生命周期位置触发运行即可

相关文章

  • 两大问题的解决方案

    型号、备注过长情况下的自适应方案 原图 最终效果图 方案: 等待数据加载完毕后,分别去获取“售价”、“数量”、“总...

  • PythonCookBook 读书笔记2-数字,日期,时间

    1 问题 解决方案 讨论 2 问题 解决方案 讨论 3 问题 解决方案 讨论 4 问题 解决方案 讨论 5 问题 ...

  • 2019年1月11日

    1、与客户沟通项目验收的两大问题的解决方案 2、写一篇自媒体文章 3、回家与家人一起过周末

  • 在IntelliJ IDEA里Ctrl+Alt+方向键用不了

    问题描述: 问题原因: 解决方案1: 解决方案2:

  • 知乎徐强关于销售的说法的感想

    痛点-解决方案难易模型 1、问题简单-解决方案简单 2、问题复杂-解决方案简单 3、问题复杂-解决方案简单 4、问...

  • Spark--数据倾斜解决方案

    数据倾斜分为两大类:聚合倾斜和join倾斜,针对不同的倾斜类型采用不同解决方案 数据倾斜解决方案上分为:缓解数据倾...

  • 答案就在问题里

    问题不是问题,问题就是解决方案。 如果孩子不上学,那是他的解决方案; 如果有人想自杀,那是他的解决方案; 如果有人...

  • 转载20210117

    问题不是问题,问题就是解决方案。 如果孩子不上学,那是他的解决方案;如果有人想自杀,那是他的解决方案;如果有人抑郁...

  • 三步做出靠谱的需求分析

    从发现问题到解决问题,需要经历找到问题、提出解决方案、验证解决方案、包装解决方案(产品)等多个步骤,首要的两步是找...

  • docker-machine create 出错:Error w

    问题 解决方案 我们可以google找到相应的解决方案Solution 创建docker-machine 新的问题...

网友评论

      本文标题:两大问题的解决方案

      本文链接:https://www.haomeiwen.com/subject/vqcwyttx.html