1. 程式人生 > 實用技巧 >UE4動畫系統:什麼是動畫通知

UE4動畫系統:什麼是動畫通知

技術標籤:小程式

正在獲取訂單中... ~暫無訂單資料~

var id = e.currentTarget.dataset.id;

/* 彈出或關閉動畫來動態設定內容高度 */

@keyframes slideBGtUp {
from {
background: transparent;
}

to {
background: rgba(0, 0, 0, 0.1);
}
}

@keyframes slideBGDown {
from {
background: rgba(0, 0, 0, 0.1);
}

to {
background: transparent;
}
}

/* 顯示或關閉內容時動畫 */

.openBG {

animation: slideBGtUp 0.5s ease-in both;
/* animation-fill-mode: both 動畫將會執行 forwards 和 backwards 執行的動作。 */
}

.closeBG {
animation: slideBGDown 0.5s ease-in both;
/* animation-fill-mode: both 動畫將會執行 forwards 和 backwards 執行的動作。 */
}

/* 彈出或關閉動畫來動態設定內容高度 */
動畫
@keyframes slideContentUp {
from {
height: 0;
}

to {

height: 950rpx;
}
}

@keyframes slideContentDown {
from {
height: 950rpx;
}

to {
height: 0;
}
}

/* 顯示或關閉內容時動畫 */

.open {
animation: slideContentUp 0.1s ease-in both;
/* animation-fill-mode: both 動畫將會執行 forwards 和 backwards 執行的動作。 */
}

.close {
animation: slideContentDown 2s ease-in both;
/* animation-fill-mode: both 動畫將會執行 forwards 和 backwards 執行的動作。 */

}

bindtouchstart=“bindyueben” bindtouchend=“handleTouchEnd”

button 紅 :#d85b57

文字超出隱藏出現省略號
overflow: hidden;
text-overflow:ellipsis;
white-space: nowrap;

setTimeout(function() {
  console.log('我是首頁')
}, 3000);

正在載入的樣式

hidden=’{{infoThree==""?false:true}}’
setTimeout(function () {
if (that.data.list.length == 0) {
that.setData({
isinfoThree : true
})
}
}, 3000);

~正在載入中~ .noinfo { width: 100%; float: left; margin: 50rpx 0; text-align: center; color: #666; font-size: 30rpx; } .list_none{ color:#5F6062; font-size: 26rpx; text-align: center; margin-top:50rpx; }

.noinfoImg {
display: inline-block;
width: 100rpx;
height: 100rpx;
margin-bottom: 10rpx;
}

.noinfo text {
width: 100%;
text-align: center;
float: left;
color: #888;
font-size: 26rpx;
}
.list_none{
color:#5F6062;
font-size: 26rpx;
text-align: center;
margin-top:50rpx;
}

url: app.host + ‘/upload/webUploaderImage’,

返回上一層
wx.vibrateShort();
wx.switchTab({
url: ‘/pages/home/dashboard/index’,
})

var title = res.data.filter(f => f.enter_mendian == 1);

背景過渡顯示漸變
background: linear-gradient(to right, rgb(180, 178, 178), rgb(58, 57, 57));
文字超出三行出現省略號
.cu-form-group .title {
display: -webkit-box;
-webkit-box-orient: vertical;
-webkit-line-clamp: 2;
overflow: hidden;
}

/* 資料為空 和載入中的樣式 */
.js_jiazai {
display: flex;
justify-content: center;
align-items: center;
}

.js_jiazai view {
color: lightslategrey;
}

.js_jiazai image {
width: 50rpx;
height: 50rpx;
margin-right: 4rpx;
}

.no_goodlist {
display: flex;
flex-direction: column;
align-items: center;
margin-top: 150rpx;
}

.no_goodlist view {
margin-top: 20rpx;
color: lightslategrey;
}

.no_goodlist image {
width: 150rpx;
height: 150rpx;
}

/* 資料為空 和載入中的樣式 */

全域性樣式修改
business_center_color: ‘’,
color=’{{business_center_color}}’

this.setData({
business_center_color: app.business_center_color,
})

路徑相關:
pages/business/pages/usercenter/free_time 空閒時間
陰影
box-shadow: 1px 1px 5px #d1d1d1;

setData 屬性賦值的基本寫

this.setData({
  Political_outlook_index: e.detail.value,
  'info.Political_outlook': this.data.Political_outlook[e.detail.value].id
});

button 按鈕 顏色
background: rgb(253, 195, 4);
color: #000;

var pages = getCurrentPages();
var Page = pages[pages.length - 1];//當前頁
var prevPage = pages[pages.length - 2];  //上一個頁面
var info = prevPage.data //取上頁data裡的資料也可以修改

複製
wx.setClipboardData({
data: path,
success(res) {
wx.showToast({
title: ‘複製成功’,
})
}
})
引數拼接
url: ‘/pages/timeline/pages/questionnaire?id=’ + id + ‘&name=’ + name,

微信小程式快速查詢行 corl +g

console.info(’[app:wx:login:success]’, a);

//獲取錯誤資訊
try {
var shopid = wx.getStorageSync(‘shopid’)
} catch (e) {
// Do something when catch error
}

微信小程式阻止點選事件冒泡行為
將事件的 bind 改成 catch

bind 是阻止不了冒泡的,catch 可以阻止事件的冒泡行為

例如 bindtap 改成 catchtap

訊息提示窗
wx.showToast({
title: ‘沒有更多蹤跡了’,
image: ‘…/…/…/images/z7.png’
});

頁面吸頂
onPageScroll中可以得到滑動距離頂部的距離,在data公共資料中定義scrollTop,程式碼如下
onPageScroll: function (t) {
var a = this;
// console.log(t.scrollTop)
a.setData({
scrollTop:t.scrollTop
})
class="{{scrollTop>758 ? ‘rel’ : ‘nav’}}"
rel{
position: fixed;
top:52px;
}

onPageScroll:function(e){
console.log(e)
this.setData({
scrollTop:e.scrollTop
})
},

設定定時器 與清理定時器
that.myVar= setInterval(function () {
app.carmen({
api: ‘/index/get_order_status’,
query: {
activity_id
},
success: res => {
if(res.data.is_ver!=0){
wx.showToast({
title: ‘核銷成功’,
image: ‘…/…/img/z7.png’
});
that.setData({
modalName:null
})
clearInterval(that.myVar);
that.setData({
activity_list:[]
})
that.loadinfo()
}
}
})
}, 3000);

box-shadow: 1px 1px 5px rgba(0, 0, 0, 0.3);
上拉觸底距離
“onReachBottomDistance”:50

“navigationStyle”: “custom”

查詢陣列中指定的物件屬性並返回索引

var filterArr = arr.filter(function(elem, index,arr){
return elem.age>=18
}) [{name:“dan”,age:18},{name:“yue”,age:22}]
JavaScript 根據物件某屬性獲得其在陣列中的index

var arr = new Array({“name”: “wxx”, “age”: 2}, {“name”: “wyw”, “age”: 6});

var index = arr.findIndex(function(item) {
return item.name === “wyw”;
});
console.log(index);

上傳圖片限制
function selecImg(page_that, cb_key, count) {
console.log(“選擇圖片”);
wx.chooseImage({
count: count,
sizeType: [‘compressed’],
sourceType: [‘album’, ‘camera’],
success: function(res) {
console.log(res)
var pathArray = [];
var PicNums = res.tempFiles.length;
for (var inta = 0; inta < PicNums; inta++) {
var size = res.tempFiles[inta].size;
var path = res.tempFiles[inta].path;
var formatImage = path.split(".")[(path.split(".")).length - 1];
console.log(“圖片格式” + formatImage)
if (formatImage != “png” && formatImage != “jpg” && formatImage != “jpeg”) {
return wx.showToast({
title: ‘只能上傳.png、.jpg、.jpep 格式’,
icon: ‘none’,
image: ‘’,
duration: 2000,
mask: true,
})
}
if (config.image_size < size) {
return wx.showToast({
title: ‘圖片大小限制:’ + (config.image_size / 1024 / 1024) + “MB”, ///config.image_size 配置檔案中設定
icon: ‘none’,
image: ‘’,
duration: 1500,
mask: true,
})
}
pathArray.push(path);
if (inta == PicNums-1) {
var cb = {};
cb[cb_key] = pathArray;
page_that.setData(cb);
}
}
}
})
}
————————————————
版權宣告:本文為CSDN博主「生生不息的希望」的原創文章,遵循CC 4.0 BY-SA版權協議,轉載請附上原文出處連結及本宣告。
原文連結:https://blog.csdn.net/weixin_39589065/article/details/102369626

監聽頁面解除安裝
onUnload: function () {
console.log(‘監聽頁面解除安裝’)
wx.setStorageSync(‘yxhdp’, 0)
},

無重新整理刪除
var list = that.data.list;
list.splice(index, 1);
that.setData({
list: list,
});

下拉重新整理
“enablePullDownRefresh”: true,
“navigationBarTextStyle”: “light”,
“backgroundColor”: “#d8d8d8”

5:4
width: 130px;
height: 104px;

wx.showToast({
  title: `切換到標籤 ${event.detail.name}`,
  icon: 'none',
});

“disableScroll”: true,

d && (d.is_clothing = 1), that.setData({
list:list
})

to_home:跳轉首頁樣式
// 跳轉首頁
bindto_home:function(){
wx.switchTab({
url: ‘/pages/home/dashboard/index’,
})
},

   wx:for="{{ componentSKU.goods.sku.tree }}"
          wx:for-item="skuKey"
          wx:for-index="skuKeyIndex"
          wx:key="id"

color ui 省略號
text-cut
設定不透明度
opacity
快捷鍵
corl + p 快速查詢檔案
微信小程式快速查詢行 corl +g

var a = res.data.response
樣式

.rw{
white-space: nowrap;
text-overflow: ellipsis;
overflow: hidden;
}
wx.showToast({
title: ‘已提交稽核…’,
image: ‘…/…/img/z11.png’
})
新版分類
pages/category/list/index
“pages/buy/buy”,

this.showZanToast(‘請填寫詳細地址’), {
type: ‘empty’,
field: ‘address_detail’
})

只要將wx.request的header改為 ‘content-type’: ‘application/x-www-form-urlencoded’ 請求引數自然就變成了form-data形式

[app:wx:checkSession]
console.log(‘loadList:’, res);

身份證正則
var regIdNo = /(\d{}$)|(^\d{}$)|(\d{}(\d|X|x)$)/;
if(!regIdNo.test(idNo)){
alert(‘身份證號填寫有誤’);
return false;
}

  wx.showToast({
    title: '您沒有積分不能檢視',
    icon: 'none',
    duration: 2000
  });

map 篩選id 返回新的陣列
var tmpid = list.map(f => f.tmpid);
console.log(tmpid)

反轉陣列
res.data.reverse();+

//會員搜尋
loadsearch()

if (tab_index == 3) {
  setTimeout(function () {
    wx.hideLoading();
    that.loadvipList();
  }, 1000)
}
if (tab_index == 2) {
  setTimeout(function () {
    wx.hideLoading();
    that.loadyuyueList();
  }, 1000)
}
if (tab_index == 4) {
  setTimeout(function () {
    wx.hideLoading();
    that.loadxiaofeiList();
  }, 1000)
}

vipkeyword
loadvipsearch
loadyuyuesearch
loadxiaofeisearch
yuyuekeyword

loadvipList

juben_shenfen_radioChange
bind_modify_juben_shenfen

https://image.caiyunyi.com/img/20200803/75de8c057b66b96cb9b98e52af8e7235.gif
https://image.caiyunyi.com/img/20200724/57e9b765109fb899504d7c55fa557aba.png?imageMogr2/quality/60
https://image.caiyunyi.com/img/20200723/a546bed648ede2f2d98cc5e4f96c455d.png?imageMogr2/quality/60

https://image.caiyunyi.com/image/20200810/166f47d512975d0ccd857a1139690d57.png

https://image.caiyunyi.com/image/20200810/ebc2f58982c7189f75ebb6fd8dbfba13.png

@media screen and (min-width: 700px) {
.container {
padding: 30rpx;
}
}
@media screen and (max-width: 700px) {
.container {
padding: 60rpx;
}
}

顯示長按二維碼
show-menu-by-longpress

http://2020-ljw-admin.dev.000.ztj.xyz/admin/member_info

http://xima.tv/x9W58L

時間戳

JSON.parse(jsonstr); //可以將json字串轉換成json物件
JSON.stringify(jsonobj); //可以將json物件轉換成json對符串

business_center_color:’#FAA741’,
business_center_background:‘linear-gradient(to bottom, #ca914b 0%, #b4701c 100%);’,

setColor
int.setColor(that)

1、JS中的||符號:

運算方法:

 只要“||”前面為false,不管“||”後面是true還是false,都返回“||”後面的值。

 只要“||”前面為true,不管“||”後面是true還是false,都返回“||”前面的值。

獲取螢幕寬度
wx.getSystemInfo({
success(res) {
console.log(res.model)
console.log(res.pixelRatio)
console.log(res.windowWidth)
console.log(res.windowHeight)
console.log(res.language)
console.log(res.version)
console.log(res.platform)
}
})

promise的用法

function getName() {
let p
p = new Promise(function (resolve, reject) {
setTimeout(function () {
console.log(111062);
resolve(‘jianyong’)
}, 2000)
})

  console.log(p);

  return p
}

getName().then(function (name) {
console.log(name)
})

定義函式的三種方式
test1();
function test1() { //函式宣告
alert(“1111”);
}

test2();

var test2 = function(){ //函式字面量

alert(“2222”);

}

test3();
var test3 = new Function(“alert(3333);”); //執行時,初始化函式體

身份介面
2店長
1店小二
wx:if=’{{item.is_del1&&(item1.shenfen1||item1.is_zujuzhe) &&(item1.start0 || item1.shenfen1 || item1.shenfen==2||is_zhuchiren)}}’

小程式元件傳參
https://blog.csdn.net/hope93/article/details/80803447

父向子傳參

父元件中

直接在屬性上 用駝峰命名法傳遞要傳的引數,

子元件中使用properties去接收
properties: {
paramAtoB:String
},
properties: { //接收父的引數
myvalue:{
type:“string”,
value:“預設值”,//這裡就結束到父 元件的值去wxml可以使用了(父傳子)
observer:(newValue,oldValue)=>{ //observer監聽 cliclkfn函式
console.log(newValue,oldValue) //輸出新值舊值
}
}
},

灰色標題
f_title

      getunionid(getunionidparam).then(data => {
        var res = data.response;
        console.log(res,"【======getunionid=======】");
        
      })

var base64 = require(’./base64’); js檔案引入js 檔案

app.globalData.hasToken ? d() : app.once(‘app:token:success’, d)

js 引入方法
import {
juben_search,
change_headframe
} from “…/…/…/…/utils/service”;

var interval = setInterval(function () {
  if (wx.getStorageSync('city')) {
    that.setData({
      city: wx.getStorageSync('city')
    });
    //that.loadinfo();
    clearInterval(interval);
  } else {
    // app.loadmyLocation();
  }
}, 1000);

[app:wx:login:success]

// 迴圈檢查是否存在私有token, 如果存在則傳送請求
let interval_id;
let promise = new Promise((resolve, reject)=>{
interval_id = setInterval(()=>{
// 如果存在私有token 則請求最新的期刊
if(token_model.getPersonalToken()){
let promise = this.request({ url: ‘api/v1/mini/periodical/latest’ }).then(response => {
wx.setStorageSync(‘latest_classic’, response);
resolve(response);
});
}
}, 200);
});

// 清除定時
promise.then(()=>{
  clearInterval(interval_id);
}).catch(()=>{
  clearInterval(interval_id);
});

return promise;

lists[typeindex].lists = lists[typeindex].lists.concat(list);

“map不會改變原陣列說的是返回的新陣列,另外陣列是引用型別,你在迴圈裡面直接把原陣列改了,不變才怪。去看看map的用法吧。你這種寫法別說用map了,你直接arr[0]=‘a’,這樣原陣列更改變了。”

.left2 {
color: #787878;
font-size: 22rpx;
margin-top: 6rpx;
}
此處優惠券即使設定領取限制也可超庫存發放
.bottom{
font-size: 22rpx;
color: #787878;
margin-top: 6rpx;
padding-right: rpx;
}

抽獎助手
優惠券大禮包