151 lines
5.4 KiB
JavaScript
151 lines
5.4 KiB
JavaScript
// 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();
|
||
},
|
||
});
|