2018/1/5 0:00:00
來(lái)源:不詳
作者:未知
頁(yè)面渲染
為了解決這個(gè)問(wèn)題,我們給圖片添加一個(gè)漸變的遮罩,就像圖10-8那樣,這樣到達(dá)文字部分時(shí),背景就變成了黑色,不會(huì)影響文字的顯示,而且達(dá)到了由圖片到底下列表顏色漸變的效果,非常美觀。
這個(gè)效果主要靠我們的格式文件實(shí)現(xiàn),我們先寫(xiě)我們熟悉的部分。
-
.list-top {
-
position: relative;
-
height: 100%;
-
}
-
.list-top::after {
-
content: " ";
-
display: block;
-
padding-top: 100%;
-
}
-
.top-info {
-
position: absolute;
-
bottom: 0;
-
width: 100%;
-
z-index: 3;
-
}
-
.top-img {
-
width: 100%;
-
height: 100%;
-
position: absolute;
-
}
-
-
.top-info-inner {
-
display: -webkit-box;
-
-webkit-box-align: center;
-
margin: 0 15px 25px;
-
color: #fff;
-
}
-
-
.top-info-text {
-
-webkit-box-flex: 1;
-
margin-right: 10px;
-
}
-
.top-info-title {
-
font-size: 24px;
-
line-height: 36px;
-
white-space: nowrap;
-
overflow: hidden;
-
}
-
.top-info-base {
-
font-size: 14px;
-
line-height: 20px;
-
}
復(fù)制代碼
“::after”表示在“.list-top”后邊添加,為了是在不修改布局文件的情況下,添加視圖以達(dá)到美化的效果。
我們需要添加的遮罩為布局里“top—back”這部分,格式文件為:
-
.tl-top-b {
-
position: absolute;
-
bottom: 0;
-
width: 100%;
-
background-image: -webkit-linear-gradient(top,transparent,currentColor 80%);
-
}
-
.tl-top-b::after {
-
content: " ";
-
display: block;
-
padding-top: 60%;
-
}
復(fù)制代碼
-webkit-linear-gradient(top,transparent,currentColor 80%)這行代碼為我們建立了線性漸變的效果,這樣我們的圖片底部就會(huì)出現(xiàn)漸變?yōu)楹谏男Ч恕?/font>
剩下播放按鈕的樣式,這里因?yàn)橛玫搅藵u變的遮罩和背景圖,為了達(dá)到最好的效果,這個(gè)按鈕就不能用圖片來(lái)顯示了,我們使用代碼來(lái)創(chuàng)建一個(gè)播放按鈕。
-
.tl-top-play {
-
position: relative;
-
display: block;
-
width: 42px;
-
height: 42px;
-
margin-left: 10px;
-
border: solid 3px;
-
border-radius: 999px;
-
}
-
.tl-top-play::after {
-
content: " ";
-
position: absolute;
-
left: 50%;
-
top: 50%;
-
margin-top: -10px;
-
margin-left: -5px;
-
display: inline-block;
-
vertical-align: middle;
-
width: 0;
-
height: 0;
-
border-style: solid;
-
border-width: 10px 16px;
-
border-color: transparent transparent transparent #fff;
-
}
復(fù)制代碼
視圖建立完畢,開(kāi)始為視圖填充數(shù)據(jù)。
-
//加載網(wǎng)絡(luò)請(qǐng)求函數(shù)
-
var MusicService = require('../../services/music');
-
//獲取應(yīng)用實(shí)例
-
var app = getApp();
-
-
Page({
-
data: {
-
// text:"這是一個(gè)頁(yè)面"
-
songList: [],
-
imgUrl: '',
-
id: 0,
-
topinfo: {},
-
update_time: '',
-
},
-
onLoad: function (options) {
-
// 頁(yè)面初始化 options為頁(yè)面跳轉(zhuǎn)所帶來(lái)的參數(shù)
-
var self = this;
-
var id = app.globalData.topListId;
-
this.setData({
-
id: id
-
});
-
MusicService.getTopListInfo(id, this.getTopListCallback)
-
},
-
})
復(fù)制代碼
這里我們獲取了保存于全局變量里的topListId(即我們點(diǎn)擊的排行分類(lèi)的ID),然后使用這個(gè)ID請(qǐng)求網(wǎng)絡(luò)。
-
getTopListCallback: function (data) {
-
var imgUrl = data.topinfo.pic_album;
-
this.setData({
-
topinfo: data.topinfo,
-
update_time: data.update_time
-
});
-
this.setSongList(data.songlist);
-
},
復(fù)制代碼
使用回調(diào)函數(shù)為我們的data賦值之后,這里調(diào)用了setSongList這個(gè)方法,通過(guò)這個(gè)方法我們把返回?cái)?shù)據(jù)里我們需要的內(nèi)容保存到songList里。
-
setSongList: function (songs) {
-
var list = [];
-
for (var i = 0; i < songs.length; i++) {
-
var item = songs[i];
-
var song = {};
-
var album = {};
-
-
album.mid = item.data.albummid
-
album.id = item.data.albumid
-
album.name = item.data.albumname;
-
album.desc = item.data.albumdesc
-
-
song.id = item.data.songid;
-
song.mid = item.data.songmid;
-
song.name = item.data.songname;
-
song.title = item.data.songorig;
-
song.subTitle = '';
-
song.singer = item.data.singer;
-
song.album = album;
-
song.time_public = item.time_public;
-
song.img = 'http://y.gtimg.cn/music/photo_new/T002R150x150M000' + album.mid + '.jpg?max_age=2592000'
-
list.push(song);
-
}
-
this.setData({
-
songList: list
-
})
-
}
復(fù)制代碼
最好完成此頁(yè)面里的點(diǎn)擊事件:
-
mainTopTap: function (e) {
-
var list = this.data.songList;
-
app.setGlobalData({ //使用全局變量playList來(lái)保存我們當(dāng)前的list
-
playList: list,
-
playIndex: 0 //表示從第一首歌曲開(kāi)始播放
-
});
-
wx.navigateTo({
-
url: '../play/play' //跳轉(zhuǎn)到播放頁(yè)
-
});
-
},
-
musicItemTap: function (e) {
-
var dataSet = e.currentTarget.dataset;
-
var index = dataSet.index; //獲取點(diǎn)擊的item的序號(hào)
-
var list = this.data.songList;
-
app.setGlobalData({
-
playList: list,
-
playIndex: index //從點(diǎn)擊歌曲開(kāi)始播放
-
});
-
wx.navigateTo({
-
url: '../play/play'
-
});
-
},
復(fù)制代碼
上一節(jié):微信小程序小白項(xiàng)目開(kāi)發(fā)案例之音樂(lè)播放器-獲取列表頁(yè)數(shù)據(jù)
下一節(jié):微信小程序小白項(xiàng)目開(kāi)發(fā)案例之音樂(lè)播放器-完成相似頁(yè)面
【本站聲明】
1、本站文章中所選用的圖片及文字來(lái)源于網(wǎng)絡(luò)以及用戶投稿,由于未聯(lián)系到知識(shí)產(chǎn)權(quán)人或未發(fā)現(xiàn)有關(guān)知識(shí)產(chǎn)權(quán)的登記,如有知識(shí)產(chǎn)權(quán)人并不愿意我們使用,如果有侵權(quán)請(qǐng)立即聯(lián)系。
2、本網(wǎng)站不對(duì)文章中所涉及的內(nèi)容真實(shí)性、準(zhǔn)確性、可靠性負(fù)責(zé),僅系客觀性描述,如您需要了解該類(lèi)商品/服務(wù)詳細(xì)的資訊,請(qǐng)您直接與該類(lèi)商品/服務(wù)的提供者聯(lián)系。
KESION 科汛軟件
KESION 科汛軟件是國(guó)內(nèi)領(lǐng)先的在線教育軟件及私域社交電商軟件服務(wù)提供商,長(zhǎng)期專注于為企業(yè)提供在線教育軟件及社交電商SaaS平臺(tái)解決方案。
公司核心產(chǎn)品云開(kāi)店SaaS社交電商服務(wù)平臺(tái)、在線教育SaaS服務(wù)平臺(tái)、教育企業(yè)數(shù)字化SaaS云平臺(tái)、企微營(yíng)銷(xiāo)助手、私有化獨(dú)立部署品牌網(wǎng)校和在線教育咨詢等。KESION 不斷通過(guò)技術(shù)創(chuàng)新,提供產(chǎn)品和服務(wù),助力企業(yè)向數(shù)字化轉(zhuǎn)型,通過(guò)科技驅(qū)動(dòng)商業(yè)革新,讓商業(yè)變得更智慧!