70 lines
1.9 KiB
JavaScript
70 lines
1.9 KiB
JavaScript
class info {
|
|
constructor() {
|
|
this.likeArr = localStorage.getItem("likeArr") == null ? [] : JSON.parse(localStorage.getItem("likeArr"))
|
|
this.GetInfo()
|
|
}
|
|
|
|
|
|
async GetInfo() {
|
|
var res = await indexServe.info({
|
|
id: $_GET("id")
|
|
});
|
|
|
|
console.log(res);
|
|
|
|
header(res.title, '<i class="like iconfont icon-xin"></i>');
|
|
|
|
var isLike = this.likeArr.filter(v => v.id == res.id);
|
|
|
|
if (isLike.length != 0) {
|
|
$(".like").classList.add("icon-aixin")
|
|
$(".like").classList.remove("icon-xin")
|
|
}
|
|
|
|
|
|
$(".like").onclick = () => {
|
|
|
|
var isHave = this.likeArr.filter(v => v.id == res.id);
|
|
|
|
// 表示已经收藏
|
|
if (isHave.length != 0) {
|
|
this.likeArr = this.likeArr.filter(v => v.id != res.id)
|
|
// 表示未收藏
|
|
} else {
|
|
this.likeArr.push({
|
|
id: res.id,
|
|
title: res.title,
|
|
img_src: res.img_src
|
|
});
|
|
}
|
|
|
|
localStorage.setItem("likeArr", JSON.stringify(this.likeArr))
|
|
|
|
$(".like").classList.toggle("icon-xin")
|
|
$(".like").classList.toggle("icon-aixin")
|
|
}
|
|
|
|
res.imgs.forEach(v => {
|
|
console.log("111");
|
|
|
|
var img = new Image();
|
|
img.src = v;
|
|
img.onload = function () {
|
|
$(".imgList").innerHTML += `
|
|
<figure >
|
|
<a href="${v}" data-size="${img.width}x${img.height}">
|
|
<img src="${v}" alt="${res.title}" />
|
|
</a>
|
|
<figcaption itemprop="caption description">${res.title}</figcaption>
|
|
</figure>
|
|
`
|
|
}
|
|
|
|
});
|
|
|
|
initPhotoSwipeFromDOM(".imgList")
|
|
|
|
}
|
|
}
|
|
|
|
new info() |