微信小程序实现气泡弹出框

这篇具有很好参考价值的文章主要介绍了微信小程序实现气泡弹出框。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

这个组件可以实现
引用别人的组件,上面github可以很好的实现气泡弹窗效果

微信小程序实现气泡弹出框

  <view style="margin-top: 200rpx;" class="hello">
    <view>	
      <!-- 以下style样式均为实现动画效果 -->
      <view bindtap="show" class="timePicker" style="position:relative" >
        第一列
      </view>
      <!-- style 其中40*4 40为列表格的固定高度,单位为px,4为列表格数量 -->
      <view class="box" style="height:{{show?40*4:'0'}}px; position: absolute; ">
        <!-- 展示行 -->
          <view class="box-in" bindtap="he">编辑</view>
          <view class="box-in">删除</view>
          <view class="box-in">详情</view>
      </view>

    </view>
    <view>hello你认为呢</view>

  </view>

show:function(){
//如果show值为true,则更改为false 反之设置true
if(this.data.show){
this.setData({
show:false
})
}else{
this.setData({
show:true
})
}
},

he(){
console.log(“sadasdd”)
this.setData({
show:!this.show
})
wx.navigateTo({
url: ‘/pages/test1/index’,
})
},

微信小程序实现气泡弹出框

<view style="margin-top: 200rpx;" class="hello">
    <view>
      <!-- 以下style样式均为实现动画效果 -->
      <view bindtap="show" class="timePicker" style="position:relative">
        第一列
      </view>
      <!-- style 其中40*4 40为列表格的固定高度,单位为px,4为列表格数量 -->


    </view>
    <view style="position: relative;">
      <view class="sanjiaoxing" wx:if="{{show}}" style="position: absolute; left: 60rpx;"></view>
      <view class="box" style="height:{{show?40*4:'0'}}px; position: absolute;top: 20rpx; border-radius: 10rpx;">
        <view class="box-in" bindtap="he">编辑</view>
        <view class="box-in">删除</view>
        <view class="box-in">详情</view>
      </view>


    </view>


    <view>hello你认为呢</view>

  </view>
.sanjiaoxing{
      /*宽高为0*/
      width: 0;
      height: 0;
      /*在三角形底边设置一个边界颜色/
      border-top: 20px solid red;
      /*其它3边设置相同颜色,*/
      border-left:10px solid transparent;
			border-right:10px solid transparent;
      border-bottom:10px solid #fff;
}

样式有点丑,要继续优化,可以引用对应的气泡类型的组件,可以更好的实现效果。

微信小程序实现气泡弹出框

优化:文章来源地址https://www.toymoban.com/news/detail-492375.html

<!--components/tabchange/index.wxml-->
<view style="margin-top: 400rpx;" class="hello">
      <view style="position: relative;">
      <!-- 以下style样式均为实现动画效果 -->
      <view style="">
        <view class="bubble" style="position: absolute; top: -320rpx;" wx:if="{{show}}">
          <view class="box-in" bindtap="he">盘点</view>
          <view class="box-in" bindtap="del">盘点记录</view>
          <view class="box-in">含水量</view>
          <view class="box-in">含水量记录</view>
        </view>
        <view bindtap="show" style="position: absolute; width: 130rpx;text-align: center;">
          <!-- 图标 -->
          <van-icon name="more-o" size="20" />
        </view>
        <!-- 站行 -->
        <view style="width: 100%;height: 40rpx;"></view>
      </view>
    </view>
</view>

.bubble{
  width:190rpx;
  height:290rpx;
  background:#fff;
  border:1rpx solid #ddd;
  border-radius: 14rpx;
}

.bubble::after{
  content: '';
  position: absolute;
  left:50rpx;
  bottom:-32rpx;
  z-index: 2;
  width: 0;
  height: 0;
  border: 18rpx solid;
  border-color: rgb(211, 207, 207) transparent  transparent  transparent ;
}

.box{
  width:30%;
  overflow: hidden;
  background-color: #fff;
  box-shadow: 0 0 15rpx black
}
.box-in{
  display: flex;
  align-items: center;
  height:70rpx;
  padding-left: 10rpx;
  border-bottom: #E5E5E5 1rpx solid;
  z-index: 99;
}
{
  "component": true,
  "usingComponents": {
    "van-icon": "@vant/weapp/icon/index"
  }
}
// components/common/son-home-info-template/index.js
Component({
  /**
   * 组件的属性列表
   */
  properties: {
    //是否是仓库管理
    isBinManage: {
      type: Boolean,
      value: false
    },
    dataItem: {},
    navTitle: {
      type: String,
      value: ""
    }
  },

  /**
   * 组件的初始数据
   */
  data: {
     show:false
  },

  /**
   * 组件的方法列表
   */
  methods: {
    he(){
      this.setData({
        show:!this.data.show
      })
      wx.showToast({
        title: '点击了盘点',
        icon:'none'
      })
    },
    show:function(){
      //如果show值为true,则更改为false  反之设置true
      if(this.data.show){
        this.setData({
          show:false
        })
      }else{
        this.setData({
          show:true
        })
      }
    },
  },
  lifetimes: {
    ready() {
      this.setData({
        dataItem: this.properties.dataItem
      })
    }
  }
})

到了这里,关于微信小程序实现气泡弹出框的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • 微信小程序解决多级页面返回及实现返回时弹出层提示

    解决微信小程序中点击页面返回按钮时需要返回多级的问题 最初使用的方法是在页面的onUnload中再写一个wx.navigateBack()方法,基本上也能实现效果,但不太完美,会出现一些情况: 如果当前页面中有按钮需点击后跳转到其他页面时,页面会出现先返回上一页再跳转到目标页面

    2024年01月16日
    浏览(32)
  • 【微信小程序】实现点击+号弹出一个附着旁边的弹窗进行多个方式的选择

    在微信小程序中,你可以使用小程序的组件和事件来实现点击+号弹出一个附着在+号旁边的弹窗,以进行多个方式的选择。以下是一个示例代码: 在wxml文件中,创建一个按钮,并为按钮绑定一个点击事件: 在上述代码中,我们创建了一个按钮,用于展示+号图标,并给按钮绑

    2024年02月14日
    浏览(31)
  • jQuery实现简单弹出框

    1、点击“更多”出现弹出框 2、点击下拉列表触发回调 3、点击空白区域收起弹出框 PS:鼠标右键效果图`另存为`到本地 ,再将图片后缀gif改为rar即可得到完整代码压缩包。 1、提前声明弹出标识做判断; 2、通过jQuery的has()、is()或其他类似方法判断点击的是弹出层以外的空白

    2024年02月11日
    浏览(27)
  • Python利用Selenium实现弹出框的处理

    现如今经常出现在网页上的基于 JavaScript 实现的弹出框有三种,分别是  alert、confirm、prompt  。该章节主要是学习如何利用 selenium 处理这三种弹出框。奥利给,冲! JavaScript的三种对话框是通过调用 \\\"window对象\\\" 的三个方法 \\\"alert()\\\"、\\\"confirm()\\\" 、\\\"prompt()\\\" 来获得,我们可以利用这

    2024年02月01日
    浏览(33)
  • VUE实现弹出框 点击空白页弹框消失

    可以在Vue中实现弹出框然后通过点击空白页面来让弹窗隐藏。具体实现如下: 创建弹出框组件 在Vue中创建一个弹出框组件,用来呈现弹出框的内容和样式。该组件应该接受两个 props,一个是 show,表示弹出框是否显示,另一个是 onClose,表示弹出框的关闭函数。 创建父组件

    2024年02月15日
    浏览(31)
  • Vue3 + Element UI 实现文件上传弹出框

    Vue3 + Element UI 实现文件上传 实现如下: 1.首页添加按钮点击弹出文件框 给dialog设置传参 展示对话框,设置 页面部分代码如下: 语法部分代码如下: 2.弹出框 页面部分代码如下: 语法部分代码如下 上述实现弹出框上传文件事件,当文件上传后需要更新文件管理展示页面,

    2024年02月11日
    浏览(43)
  • 【微信小程序】使用weui组件库来实现弹出一个确认的弹窗popup,其中包含图片和名称

    在微信小程序中,你可以使用weui组件库来实现弹出一个确认的popup,并在其中包含图片和名称。以下是一个示例代码: 在wxml文件中,添加一个按钮来触发弹出确认popup: 在wxss文件中,定义确认popup的样式: 在js文件中,编写相应的逻辑来显示和隐藏确认popup,并传递图片和名

    2024年02月17日
    浏览(31)
  • 微信小程序弹出层弹出后禁止页面滚动

    1.用一个view标签把页面禁止滚动部分包裹,并添加自定义类名 初始值为空 2. 在弹出层打开是,改变变量的值 3.给isNoRoll设置样式

    2024年02月08日
    浏览(54)
  • 【微信小程序】底部弹出式搜索框

    微信开发者工具的准备工作详见: 【微信小程序】初始页面和导航栏。 设计中会使用到Vant Weapp组件库,添加组件库的方法参照官网:Vant Weapp - 轻量、可靠的小程序 UI 组件库。 注意:我的组件库的引入的位置为/miniprogram,官方教程的位置可能会报错。 第一步,在页面中添加

    2024年02月09日
    浏览(24)
  • Vue3实现带点击外部关闭对应弹出框(可共用一个变量)

    首先,假设您在单文件组件(SFC)中使用了Vue3,并且有两个div元素分别通过`v-if`和`v-else`来切换显示一个带有`.elpopver`类的弹出组件。在这种情况下,每个弹出组件应当拥有独立的状态管理(例如:各自的isOpen变量)。为了实现点击外部关闭对应弹出框的功能,我们需要为每个组

    2024年01月18日
    浏览(83)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包