var ReportDataSync = [
{
reportType: "日报1",
chilItem: [
{ ID: 1, Name: "日报1", ReportUrl: "DailyReport.aspx", Type: 1 },
{ ID: 2, Name: "日报2", ReportUrl: "DailyReport.aspx", Type: 1 },
{ ID: 3, Name: "日报3", ReportUrl: "DailyReport.aspx", Type: 1 }]
},
{
reportType: "目录2",
chilItem: [
{ ID: 1, Name: "目录1", ReportUrl: "DailyReport.aspx", Type: 2 },
{ ID: 2, Name: "目录2", ReportUrl: "DailyReport.aspx", Type: 2 },
{ ID: 3, Name: "目录3", ReportUrl: "DailyReport.aspx", Type: 2 },
{ ID: 4, Name: "目录4", ReportUrl: "DailyReport.aspx", Type: 2 }]
},
{
reportType: "月报3",
chilItem: [
{ ID: 1, Name: "月报1", ReportUrl: "DailyReport.aspx", Type: 1 },
{ ID: 2, Name: "月报2", ReportUrl: "DailyReport.aspx", Type: 2 }]
}
]
var initSubMenuDisplay = []
var initSubMenuHighLight = []
var initAnimationData = []
loadDropDownMenu()
that.setData({
reportData: ReportDataSync,
subMenuDisplay: initSubMenuDisplay,
subMenuHighLight: initSubMenuHighLight,
animationData: initAnimationData
})
tapMainMenu: function (e) {
var index = parseInt(e.currentTarget.dataset.index);
for (var i = 0; i < initSubMenuDisplay.length; i++) {
if (i == index) {
if (this.data.subMenuDisplay[index] == "show") {
initSubMenuDisplay[index] = 'hidden'
} else {
initSubMenuDisplay[index] = 'show'
}
} else {
initSubMenuDisplay[i] = 'hidden'
}
}
this.setData({
subMenuDisplay: initSubMenuDisplay
})
this.animation(index)
},
tapSubMenu: function (e) {
var indexArray = e.currentTarget.dataset.index.split('-');
for (var i = 0; i < initSubMenuHighLight.length; i++) {
if (indexArray[0] == i) {
for (var j = 0; j < initSubMenuHighLight[i].length; j++) {
initSubMenuHighLight[i][j] = '';
}
}
}
initSubMenuHighLight[indexArray[0]][indexArray[1]] = 'highlight';
this.setData({
subMenuHighLight: initSubMenuHighLight
});
this.animation(indexArray[0]);
},
animation: function (index) {
var animation = wx.createAnimation({
duration: 400,
timingFunction: 'linear',
})
var flag = this.data.subMenuDisplay[index] == 'show' ? 1 : -1;
animation.translateY(flag * ((initSubMenuHighLight[index].length + 1) * 38)).step();
var animationStr = animation.export();
var animationData = this.data.animationData;
animationData[index] = animationStr;
this.setData({
animationData: animationData
});
}
function loadDropDownMenu() {
for (var i = 0; i < ReportDataSync.length; i++) {
initSubMenuDisplay.push('hidden')
var report = []
for (var j = 0; j < ReportDataSync[i].chilItem.length; j++) {
report.push([''])
}
initSubMenuHighLight.push(report)
initAnimationData.push("")
}
|