zoukankan      html  css  js  c++  java
  • vue2.0 购物车小球的实现

    <div class="ballContain">
    <div v-for="ball in balls">
    <transition name="drop" @before-enter="beforeDrop" @enter="dropping" @after-enter="afterDrop" >
    <div class="ball" v-show="ball.show">
    <div class="inner inner-hook"></div>
    </div>
    </transition>
    </div>
    </div>


    methods:{
    drop: function (el) {
    for (let i = 0; i < this.balls.length; i++) {
    let ball = this.balls[i];
    if (!ball.show) {
    ball.show = true;
    ball.el = el;
    this.dropBalls.push(ball);
    return;
    }
    }
    },
    beforeDrop: function(el) {
    let count = this.balls.length;
    while (count--) {
    let ball = this.balls[count];
    if (ball.show) {
    let rect = ball.el.getBoundingClientRect();
    let x = rect.left - 32;
    let y = -(window.innerHeight - rect.top - 22);
    el.style.display = '';
    el.style.webkitTransform = 'translate3d(0,' + y + 'px,0)';
    el.style.transform = 'translate3d(0,' + y + 'px,0)';
    let inner = el.getElementsByClassName('inner-hook')[0];
    inner.style.webkitTransform = 'translate3d(' + x + 'px,0, 0)';
    inner.style.transform = 'translate3d(' + x + 'px, 0, 0)';
    }
    }
    },
    dropping: function(el, done) {
    /* eslint-disadle no-unused-vars */
    let refresh = el.offsetHeight;
    this.$nextTick(() => {
    el.style.webkitTransform = 'translate3d(0,0,0)';
    el.style.transform = 'translate3d(0,0,0)';
    let inner = el.getElementsByClassName('inner-hook')[0];
    console.log(inner);
    inner.style.webkitTransform = 'translate3d(0,0,0)';
    inner.style.transform = 'translate3d(0,0,0)';
    el.addEventListener('transitionend', done);
    });
    },
    afterDrop: function(el) {
    let ball = this.dropBalls.shift();
    if (ball) {
    console.log(el);
    ball.show = false;
    el.style.display = 'none';
    }
    }
    }
  • 相关阅读:
    同步的原则
    我心中的final
    令人"哇"的内部类(一)内部类的设计意义
    令人"哇"的内部类(三)嵌套类
    共享资源问题的解决方案(一)加锁机制
    令人"哇"的内部类(二 )内部类访问外围类
    volatile关键字
    同步控制块
    高质量C++/C 编程指南一
    5、数据表的创建与更新(续)
  • 原文地址:https://www.cnblogs.com/huqinqin/p/7338482.html
Copyright © 2011-2022 走看看