微信小程序 自定义对话框实例详解

发布时间 - 2026-01-10 22:41:09    点击率:

微信小程序 自定义对话框实例详解

效果图:


index.wxml:

<button type="default" bindtap="clickbtn"> 
 点击 
</button> 
<view class="commodity_screen" bindtap="hideModal" wx:if="{{showModalStatus}}"></view> 
<view animation="{{animationData}}" class="commodity_attr_box" wx:if="{{showModalStatus}}"> 
<!--对话框标题--> 
<view class="dialog-title"> 
 请输入内容 
</view> 
<!--对话框输入部分--> 
<view class="input-view"> 
 <input type="text" bindblur="input_content" class="input-style"/> 
</view> 
<!--对话框按钮--> 
<view class="line-top">  
</view> 
<view class="btn-view"> 
 <view class="btn-cancel" bindtap="click_cancel">  
     取 消 
 </view> 
 <view class="btn-line"> 
 </view> 
 <view class="btn-cancel" bindtap="click_ok">  
     确 定 
 </view> 
</view> 
</view> 

index.js:

var inputinfo = ""; 
var app = getApp() 
Page({ 
 data: { 
  animationData:"", 
  showModalStatus:false 
 }, 
  
 onLoad: function () { 
   
 }, 
 showModal: function () { 
  // 显示遮罩层 
  var animation = wx.createAnimation({ 
   duration: 200, 
   timingFunction: "linear", 
   delay: 0 
  }) 
  this.animation = animation 
  animation.translateY(300).step() 
  this.setData({ 
   animationData: animation.export(), 
   showModalStatus: true 
  }) 
  setTimeout(function () { 
   animation.translateY(0).step() 
   this.setData({ 
    animationData: animation.export() 
   }) 
  }.bind(this), 200) 
 }, 
 clickbtn:function(){ 
  if(this.data.showModalStatus){ 
   this.hideModal(); 
  }else{ 
   this.showModal(); 
  } 
 }, 
 hideModal: function () { 
  // 隐藏遮罩层 
  var animation = wx.createAnimation({ 
   duration: 200, 
   timingFunction: "linear", 
   delay: 0 
  }) 
  this.animation = animation 
  animation.translateY(300).step() 
  this.setData({ 
   animationData: animation.export(), 
  }) 
  setTimeout(function () { 
   animation.translateY(0).step() 
   this.setData({ 
    animationData: animation.export(), 
    showModalStatus: false 
   }) 
  }.bind(this), 200) 
 }, 
 click_cancel:function(){ 
  console.log("点击取消"); 
   this.hideModal(); 
 }, 
 click_ok:function(){ 
  console.log("点击了确定===,输入的信息为为==",inputinfo); 
   this.hideModal(); 
 }, 
 input_content:function(e){ 
  console.log(e); 
  inputinfo = e.detail.value;  
 } 
 
}) 

源码下载:http://xiazai./201701/yuanma/modalTest().rar

感谢阅读,希望能帮助到大家,谢谢大家对本站的支持!


# 微信小程序  # 自定义对话框  # 自定义对话框实现代码  # 对话框  # 微信小程序自定义底部弹出框  # JS中微信小程序自定义底部弹出框  # 微信小程序 自定义消息提示框  # 微信小程序自定义对话框弹出和隐藏动画  # 微信小程序开发之实现自定义Toast弹框  # 如何自定义微信小程序tabbar上边框的颜色  # 微信小程序自定义select下拉选项框组件的实现代码  # 微信小程序自定义模态对话框实例详解  # 微信小程序 自定义复选框实现代码实例  # 微信小程序实现自定义动画弹框/提示框的方法实例  # 希望能  # 请输入  # 自定义  # 谢谢大家  # 源码下载  # commodity_attr_box  # dialog  # animation  # title  # showModalStatus  # wx  # animationData  # hideModal  # line  # style  # btn  # top  # text  # input 


相关栏目: 【 网站优化151355 】 【 网络推广146373 】 【 网络技术251813 】 【 AI营销90571


相关推荐: 如何在万网ECS上快速搭建专属网站?  如何用美橙互联一键搭建多站合一网站?  html5audio标签播放结束怎么触发事件_onended回调方法【教程】  Edge浏览器如何截图和滚动截图_微软Edge网页捕获功能使用教程【技巧】  如何快速搭建虚拟主机网站?新手必看指南  Laravel模型事件有哪些_Laravel Model Event生命周期详解  Laravel如何发送邮件_Laravel Mailables构建与发送邮件的简明教程  php打包exe后无法访问网络共享_共享权限设置方法【教程】  php在windows下怎么调试_phpwindows环境调试操作说明【操作】  高防服务器租用指南:配置选择与快速部署攻略  Laravel如何集成微信支付SDK_Laravel使用yansongda-pay实现扫码支付【实战】  EditPlus中的正则表达式 实战(4)  html5的keygen标签为什么废弃_替代方案说明【解答】  电商网站制作多少钱一个,电子商务公司的网站制作费用计入什么科目?  javascript如何操作浏览器历史记录_怎样实现无刷新导航  高性能网站服务器配置指南:安全稳定与高效建站核心方案  如何在香港免费服务器上快速搭建网站?  python中快速进行多个字符替换的方法小结  Laravel如何实现数据导出到CSV文件_Laravel原生流式输出大数据量CSV【方案】  网站建设保证美观性,需要考虑的几点问题!  JavaScript如何实现路由_前端路由原理是什么  如何在IIS中新建站点并解决端口绑定冲突?  简历没回改:利用AI润色让你的文字更专业  JavaScript如何操作视频_媒体API怎么控制播放  laravel怎么在请求结束后执行任务(Terminable Middleware)_laravel Terminable Middleware请求结束任务执行方法  Laravel怎么上传文件_Laravel图片上传及存储配置  Win11怎么设置虚拟桌面 Win11新建多桌面切换操作【技巧】  Laravel广播系统如何实现实时通信_Laravel Reverb与WebSockets实战教程  Laravel怎么在Blade中安全地输出原始HTML内容  大型企业网站制作流程,做网站需要注册公司吗?  如何快速搭建高效WAP手机网站吸引移动用户?  微博html5版本怎么弄发超话_超话进入入口及发帖格式要求【教程】  百度浏览器ai对话怎么关 百度浏览器ai聊天窗口隐藏  DeepSeek是免费使用的吗 DeepSeek收费模式与Pro版本功能详解  如何制作新型网站程序文件,新型止水鱼鳞网要拆除吗?  网站制作软件有哪些,制图软件有哪些?  香港服务器建站指南:外贸独立站搭建与跨境电商配置流程  今日头条微视频如何找选题 今日头条微视频找选题技巧【指南】  Laravel如何实现多表关联模型定义_Laravel多对多关系及中间表数据存取【方法】  如何在 Telegram Web View(iOS)中防止键盘遮挡底部输入框  Laravel Eloquent:优雅地将关联模型字段扁平化到主模型中  香港代理服务器配置指南:高匿IP选择、跨境加速与SEO优化技巧  移动端脚本框架Hammer.js  JavaScript 输出显示内容(document.write、alert、innerHTML、console.log)  如何在局域网内绑定自建网站域名?  电商网站制作价格怎么算,网上拍卖流程以及规则?  邀请函制作网站有哪些,有没有做年会邀请函的网站啊?在线制作,模板很多的那种?  如何在Windows环境下新建FTP站点并设置权限?  Laravel如何实现邮件验证激活账户_Laravel内置MustVerifyEmail接口配置【步骤】  Midjourney怎样加参数调细节_Midjourney参数调整技巧【指南】