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( "" )
}
|