css3 蒙层-Momo小程序如何实现点击空白隐藏示例

2023-09-01 0 2,743 百度已收录

jq中如何实现slideUp或slideDown的动画效果? 我的想法是利用css3的translate:translateY()属性为需要动画元素添加一个动画类。

首先我们看一下治疗效果图:

css3 蒙层-Momo小程序如何实现点击空白隐藏示例

1、掩蔽层的结构:

     //mengShow是蒙层是否显示的标志,然后蒙层绑定outbtn的点击事件
      //这里的三元运算符是判断动画该执行哪一种,catchtap这个是阻止冒泡的点击事件,这个事件必须有,才能阻止冒泡
    
      已选商品(1)
      清空购物车
    
    
      {{item.Cname}}
      ¥{{item.Cprice}}
      
        -   
        {{item.Cnum}}
        +   
      
    
  

注意:三元运算符中的slideup和slidedown必须加冒号。

css3 蒙层-Momo小程序如何实现点击空白隐藏示例

2、自己编写遮罩层的其他样式。 最重要的是slideup和slidedown的动画效果样式

@keyframes slidedown {
  from {
    transform: translateY(0);
  }
  to {
    transform: translateY(100%);
  }
}
.slidedown {
  animation: slidedown 0.5s linear ;
}
.slideup {
  animation: slideup 0.5s linear ;
}
@keyframes slideup {
  from {
    transform: translateY(100%);
  }
  to {
    transform: translateY(0);
  }
}

其他样式:list-fix是固定定位,而in-list是绝对定位。

css3 蒙层-Momo小程序如何实现点击空白隐藏示例

需要注意的一点是:在做的时候,移动是从Y轴的100%位置开始的,也就是顶部,或者说从0到100%,所以需要设置z-index,这样就可以在顶部向上移动或者返回到100%css3 蒙层,即顶部时,遮罩层浮在“确认订单”的整个结构下方。 也就是说,“确认订单”的整个结构的z索引小于掩模层的z索引。

3.js

page({
  data: {
    mengShow:false,//蒙层的显示与否
     aniStyle:true,  //动画效果,默认slideup     
  },
  //蒙层的显示
  showMeng:function(e){     //这是“确认下单”这整个购物车导航栏的点击事件
    this.setData({
      mengShow:true,      //蒙层显示
      aniStyle:true        //设置动画效果为slideup
    })
  },
  outbtn:function(e){      //这是list-fix的点击事件,给它绑定事件,是为了实现点击其它地方隐藏蒙层的效果
    var that=this;
    this.setData({        
      aniStyle:false      //设置动画效果为slidedown
    })
    setTimeout(function(){    //延时设置蒙层的隐藏,这个定时器的时间,就是slidedown在css动画里设置的时间,这样就能实现slidedown动画完成后,蒙层才消失的效果。不设置定时器会导致动画效果看不见
      that.setData({
        mengShow: false
      })
    },500)
  },
  inbtn:function(e){     //这个事件必须有,就算不做什么事情也要写上去,因为这个事件是为了防止事件冒泡,导致点击in-list这里面的元素时,点击事件冒泡到list-fix触发它的slidedown事件。
    console.log("in")
  }, 
})

css3 蒙层-Momo小程序如何实现点击空白隐藏示例

这样可以实现向下滑动和向上滑动,以及点击其他地方隐藏某个元素的功能。

总结:

1.避免冒泡点击风暴:catchtap=""

css3 蒙层-Momo小程序如何实现点击空白隐藏示例

2、如何通过点击子元素以外的地方来隐藏父元素:父元素绑定点击隐藏风暴,然后子元素绑定catchtap。 这些可以阻止冒泡的风暴。

3、巧妙地利用定时器设置属性值css3 蒙层,可以实现类似先执行一个动画再执行另一个动画的方法。

以上就是本文的全部内容。 希望对你的学习有所帮助,也希望你多多支持我。

收藏 (0) 打赏

感谢您的支持,我会继续努力的!

打开微信/支付宝扫一扫,即可进行扫码打赏哦,分享从这里开始,精彩与您同在
点赞 (0)

悟空资源网 css3 css3 蒙层-Momo小程序如何实现点击空白隐藏示例 https://www.wkzy.net/game/186562.html

常见问题

相关文章

官方客服团队

为您解决烦忧 - 24小时在线 专业服务