欢迎光临,了解微信小程序开发,就上易用通!

杂项:自定义弹窗,开发小技巧,使用一像素边框样式

发布:2018-02-06 15:47浏览: 来源:网络 作者:cola

本文为一些杂项的聚合;

 


首先wxml代码:

 

  1. <view class="myToast" hidden="{{nullHouse}}">暂无有关信息</view>
  2. <view bindtap="clickArea">点击此处</view>  
  3. 注:hidden属性用于切换比较频繁的地方。

wxss代码设置弹窗样式:

 

  1. .myToast{
  2. width:240rpx;
  3. height:130rpx;
  4. line-height: 130rpx;
  5. margin:80rpx 35%;
  6. border-radius:20rpx;
  7. background-color: rgb(114,113,113);
  8. color:rgb(255,255,255);
  9. font-size: 36rpx;
  10. text-align: center;
  11. position: absolute;
  12. z-index: 100;
  13. opacity: 0.85;
  14. }

js:

 

  1. Page({
  2.  
  3. data:{
  4. nullHouse:true, //先设置隐藏
  5. },
  6. onLoad:function(options){
  7. // 页面初始化 options为页面跳转所带来的参数
  8. },
  9. onReady:function(){
  10. // 页面渲染完成
  11. },
  12. onShow:function(){
  13. // 页面显示
  14. },
  15. onHide:function(){
  16. // 页面隐藏
  17. },
  18. onUnload:function(){
  19. // 页面关闭
  20. },
  21. clickArea:function(){
  22. var that = this;
  23. this.setData({
  24. nullHouse:false, //弹窗显示
  25. })
  26. setTimeout(function(){
  27. that.data.nullHouse = true, //1秒之后弹窗隐藏
  28. },1000)
  29. },
  30. })

注:setTimeout()函数是异步的,当计算机执行到setTimeout时,此任务先暂停并保存,继续执行后续未完成的任务,当条件满足时,再将setTimeout的执行任务放回任务队列的后面,等待执行。

 

二:开发小技巧

1、js里面如何获取data里面定义的值:this.data.参数名,例如在data里面定义了一个num = 1,我要得到一个num,应该这样写this.data.num;

2、将内容存为全局的:在app.js,里面定义一个变量a,在存的页面 getApp().globalData.a = 你要存的信息;

3、取全局变量:也是一样的getApp().globalData.a

4、如果是渲染层报错:可能原因是:xml页面里面调用了方法,或者{{}}没有配对。

5、跳转页面代码:

① wx.navigateTo({url:"跳转的路径"}); 例如:wx.navigateTo({url:"../shopcar/shopcar"});这个自带返回上一页的功能,但是只能最多打开五个页面。  ②wx.redirectTo({url:"跳转的路径"});会关闭当前页面再跳转到另外一个页面

6、返回上一个页面:wx.navigateBack({delta: 1});delta:后面接返回的页面层数

 

三:自用样式解决方案:使用一像素边框

作者:haoranw,原文地址  import 'common.scss'  在需要1px边框的元素样式的开头添加@include px-border(#color,(some_position));。 其中color为边框颜色,some_position中填入需要边框的方位(不填则默认为所有方向),  例如:@include px-border(#000,(top,right));,将会生成上方和右方的黑色边框;@include px-border(#000);,将在四周生成黑色边框。  使用任何你喜欢的构建工具或编辑器插件将.scss产出为.wxss。  common.scss:


  1. // 1px border
  2. @mixin px-border($color,$border:all) {
  3. position: relative;
  4.  
  5. &:after {
  6. content: " ";
  7. position: absolute;
  8. top: 0;
  9. left: 0;
  10. @if $border == all {
  11. border: 1px solid $color;
  12. }
  13. @else {
  14. @each $member in $border{
  15. border-#{$member}: 1px solid $color;
  16. };
  17. }
  18. width: 200%;
  19. height: 200%;
  20. -webkit-transform: scale(0.5);
  21. transform: scale(0.5);
  22. @media (-webkit-min-device-pixel-ratio:2.5) {
  23. width: 300%;
  24. height: 300%;
  25. -webkit-transform: scale(.33333);
  26. transform: scale(.33333);
  27. }
  28. -webkit-transform-origin: 0 0;
  29. transform-origin: 0 0;
  30. box-sizing: border-box;
  31. }
  32. }




免责声明:本站所有文章和图片均来自用户分享和网络收集,文章和图片版权归原作者及原出处所有,仅供学习与参考,请勿用于商业用途,如果损害了您的权利,请联系网站客服处理。