微信小程序——点击某个按钮实现下面弹窗的出现

news/2024/7/20 3:20:50 标签: 小程序

效果图:(真的是图)

wxml(代码里面有解释)

<button type="primary" bindtap="Popup">点我</button>
<!--点击后灰色背景的设置-->
<view wx:if="{{now_state}}" class="background" 	 bindtap="hideModal"
></view>



<!--弹窗的出现-->
<view animation="{{animationData}}" class="box" wx:if="{{now_state}}">
<!--弹窗内部内容-->
</view>

 wxss

.background{
  width: 100%;
  height: 100%;
  position: fixed;/*fixed属性值的解释:相对于我们当前的界面进行绝对定位,不随屏幕的滑动而滑动*/
  top: 0;/*top=0和left=0的作用是确认组件4个定点的一个坐标,如果不进行确认则该组件前面的组件会影响它*/
  left: 0;
  background: #000;
  opacity: 0.2;/*设置背景的透明度(取值范围为0~1)*/
  overflow: hidden;/*该属性的功能是隐藏溢出,就是当我们现在的这个组件里面有其他组件,并且其他组件的宽或者高大于我们当前组件的宽或高时(按照正常情况,父组件的宽高都为0,没有被子组件撑起来,故不会显示),正常显示子组件,并同时正常显示父组件*/
  z-index: 1000;/*堆叠顺序,有时候我们设置的组件可能会有重叠的部分,那重叠的部分到底是显示哪一个组件呢?这就得靠我们的z-index属性了,z-index的属性值越高则它就越容易显示在我们的页面。注意点:只有在我们设置了position属性时,z-index才会起效果,否则是不会出现效果的*/
}
.box{
    height: 30%;/*设置弹窗的宽和高*/
    width: 100%;
    overflow: hidden;/*隐藏溢出*/
    position: fixed;/*以当前页面为参考物,进行页面的固定*/
    bottom: 0;/*4个定点中一个定点的确认*/
    left: 0;
    z-index: 2000;/*堆叠顺序*/
    background: #fff;/*背景颜色*/
    text-align: center;/*组件内部字体居中*/
}

js

// pages/exampless/exampless.js
Page({

  /**
   * 页面的初始数据
   */
  data: {
    now_state:null

  },
  Popup(e){
    var that = this 
    that.setData({
      now_state:true
    })
    console.log(that.data.now_state);

  },
  //点击黑色背景触发的事件
  hideModal(e){
    //首先创建一个动画对象(让页面不在是一个“死页面”)
    var animation = wx.createAnimation({
      duration: 200,
      timingFunction: "linear",
      delay: 0
    })
    this.animation = animation
    //animation.translateY(300)中的translate函数是表示在y轴上平移多少px,而后面紧接着的.step表示前面动画的完成,可以开始下一个动画了
    animation.translateY(300).step()
    this.setData({
      /*这里的export函数是导出动画队列,在外米的wxml中会用到该数据,同时export方法在调用完后会清掉前面的动画操作 */
      animationData: animation.export(),
    })
    /*这里的setTimeout是一个延时器,而它在这里延时了200ms,然后在执行动画 */
    setTimeout(function () {
      animation.translateY(0).step()
      this.setData({
        animationData: animation.export(),
        now_state: false,
      })
    }.bind(this), 200)
    var that = this
   
  },
  /**
   * 生命周期函数--监听页面加载
   */
  onLoad: function (options) {

  },

  /**
   * 生命周期函数--监听页面初次渲染完成
   */
  onReady: function () {

  },

  /**
   * 生命周期函数--监听页面显示
   */
  onShow: function () {

  },

  /**
   * 生命周期函数--监听页面隐藏
   */
  onHide: function () {

  },

  /**
   * 生命周期函数--监听页面卸载
   */
  onUnload: function () {

  },

  /**
   * 页面相关事件处理函数--监听用户下拉动作
   */
  onPullDownRefresh: function () {

  },

  /**
   * 页面上拉触底事件的处理函数
   */
  onReachBottom: function () {

  },

  /**
   * 用户点击右上角分享
   */
  onShareAppMessage: function () {

  }
})

json

{
  "usingComponents": {}
}

***可直接复制粘贴运行


http://www.niftyadmin.cn/n/886322.html

相关文章

微信小程序——在view组件中实现强制换行

css强制换行和超出隐藏实现 - 念时 - 博客园

Tomcat的配置(从下载配置完成)

一、下载 tomcat下载链接&#xff1a;Apache Tomcat - Welcome! 点击后是下面的样子。现在我们选择下载版本 这里我们选择9.0.53的Tomcat&#xff08;其中建议选着zip的&#xff0c;因为解压即可。&#xff09; 我这里下载解压后是这样的 二、配置系统变量 ①打开我的电脑-…

idea下面javaweb项目的创建+发布项目到本地的Tomcat上面

一、idea下面创建javaweb项目 new---->project 先创建一个普通的java项目 右击项目选择Add Framework Support 选着JavaEE 选择Web Application 同时勾选 Create web.xml ,点击OK&#xff0c;这样我们的javaweb项目就创建好了。 此时我们可以看到它和普通java项目的不…

2021idea在Tomcat上面发布的项目在哪里查看

C:\Users\Lenovo\AppData\Local\JetBrains\IntelliJIdea2021.1\tomcat

IDEA中request.getParameter爆红-解决办法

转载:IDEA中request.getParameter爆红-解决办法_魚-CSDN博客 简单明了&#xff0c;棒&#xff01;&#xff08;如有侵犯或者不满可以联系&#xff0c;立刻删除哦&#xff01;&#xff09;

ideal手动配置好servlet好后,运行服务器出现404的一种情况

我早早的包web.xml中的servlet配置好了如下图 <!--配置和映射Servlet--><!--配置Servlet--><servlet> <!--servlet-name我们要注册servlet类的名字--><servlet-name>Demo1_jsp</servlet-name><!--servlet类所在的类地址--><serv…

javaweb登录验证码实现

步骤&#xff1a;①将图片的src的值设置为实现图片显示的那个java类的名字&#xff08;src值的设置&#xff09; 及如下图&#xff1a; 其中我们在给这个图片绑定一个点击事件&#xff08;changge_img&#xff09;&#xff0c;实现点击图片&#xff0c;图片进行切换。&#xff…

mysql数据的自我复制

INSERT INTO usertable (username,passwd,email,grade) SELECT username,passwd,email,grade FROM usertable