yuminge-app/yun-min-program-plugin-master/packageE/healthy/component/healthy_res/healthy_res.js

151 lines
5.4 KiB
JavaScript
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

// packageE/healthy/component/healthy_Res/healthy_Res.js
Component({
/**
* 组件的属性列表
*/
properties: {
resultData: {
type: Object,
value: {},
},
},
/**
* 组件的初始数据
*/
data: {
query: null,
mouseText: "",
bmiText: {
text:
"根据WS/T 428-2013成人体重判定您已经非常苗条了。前往不要盲目节食减肥。根据WS/T 428-2013成人体重判定您已经非常苗条了。前往不要盲目节食减肥。根据WS/T 428-2013成人体重判定您已经非常苗条了。前往不要盲目节食减肥。根据WS/T 428-2013成人体重判定您已经非常苗条了。前往不要盲目节食减肥",
tempText:
"根据WS/T 428-2013成人体重判定您已经非常苗条了。前往不要盲目节食减肥。根据WS/T 428-2013成人体重判定您已经非常苗条了。前往不要盲目节食减肥。根据WS/T 428-2013成人体重判定您已经非常苗条了。前往不要盲目节食减肥。根据WS/T 428-2013成人体重判定您已经非常苗条了。前往不要盲目节食减",
mouseText: "",
optFlag: false,
curOpt: "close", //open / close
},
whiText: {
text:
"根据WS/T 428-2013成人体重判定您已经非常苗条了。前往不要盲目节食减肥。根据WS/T 428-2013成人体重判定您已经非常苗条了。前往不要盲目节食减肥。根据WS/T 428-2013成人体重判定您已经非常苗条了。前往不要盲目节食减肥。根据WS/T 428-2013成人体重判定您已经非常苗条了。前往不要盲目节食减肥",
tempText:
"根据WS/T 428-2013成人体重判定您已经非常苗条了。前往不要盲目节食减肥。根据WS/T 428-2013成人体重判定您已经非常苗条了。前往不要盲目节食减肥。根据WS/T 428-2013成人体重判定您已经非常苗条了。前往不要盲目节食减肥。根据WS/T 428-2013成人体重判定您已经非常苗条了。前往不要盲目节食减",
mouseText: "",
optFlag: false,
curOpt: "close", //open / close
},
},
/**
* 组件的方法列表
*/
methods: {
gotoDetail(event) {
let item = event.currentTarget.dataset.item;
wx.navigateTo({
url: "/packageA/detail_v2/detail_v2?id=" + item.goods_id,
});
},
getViewRect(view) {
let query = this.data.query;
return new Promise((resolve, reject) => {
query
.select(view)
.boundingClientRect(function (rect) {
resolve(rect);
})
.exec();
});
},
setBmiTextStatus() {
let status = this.data.bmiText.curOpt;
if (status == "close") {
this.setData({
"bmiText.tempText": this.data.bmiText.text,
"bmiText.curOpt": "open",
});
} else if (status == "open") {
this.setData({
"bmiText.tempText": this.data.bmiText.mouseText,
"bmiText.curOpt": "close",
});
}
},
setWhiTextStatus() {
let status = this.data.whiText.curOpt;
if (status == "close") {
this.setData({
"whiText.tempText": this.data.whiText.text,
"whiText.curOpt": "open",
});
} else if (status == "open") {
this.setData({
"whiText.tempText": this.data.whiText.mouseText,
"whiText.curOpt": "close",
});
}
},
async setBmiText() {
let rect1 = await this.getViewRect(".bmiText .text");
let rect2 = await this.getViewRect(".bmiText .text .content");
if (rect1.height >= rect2.height) return;
let chr = this.data.bmiText.text.split(""); //这个方法是将一个字符串分割成字符串数组
let temp = "";
let count = chr.length;
let maxWidth = rect1.width * 2 - rect1.width / 2;
this.setData({ mouseText: "" });
for (let i = 0; i < count; i++) {
let rect2 = await this.getViewRect(".mouseText");
if (rect2.width < maxWidth) {
temp += chr[i];
this.setData({
mouseText: temp,
});
} else break;
}
this.setData({
"bmiText.mouseText": temp + "...",
"bmiText.tempText": temp + "...",
"bmiText.optFlag": true,
"bmiText.curOpt": "close",
});
},
async setWhiText() {
console.log("执行3");
let rect1 = await this.getViewRect(".whiText .text");
let rect2 = await this.getViewRect(".whiText .text .content");
if (rect1.height >= rect2.height) return;
let chr = this.data.whiText.text.split(""); //这个方法是将一个字符串分割成字符串数组
let temp = "";
let count = chr.length;
let maxWidth = rect1.width * 2 - rect1.width / 2;
this.setData({ mouseText: "" });
for (let i = 0; i < count; i++) {
let rect2 = await this.getViewRect(".mouseText");
if (rect2.width < maxWidth) {
temp += chr[i];
this.setData({
mouseText: temp,
});
} else break;
}
this.setData({
"whiText.mouseText": temp + "...",
"whiText.tempText": temp + "...",
"whiText.optFlag": true,
"whiText.curOpt": "close",
});
},
},
async ready() {
// this.data.query = this.createSelectorQuery();
// await this.setBmiText();
// await this.setWhiText();
},
});