122 lines
4.0 KiB
JavaScript
122 lines
4.0 KiB
JavaScript
$(document).ready(function(){
|
|
var result = '',
|
|
title_text = '',
|
|
link_text = '',
|
|
summary_text = '',
|
|
startDate_text = '',
|
|
startMon_text = '',
|
|
startDay_text = '',
|
|
endDate_text = '',
|
|
time_text = '',
|
|
selet = 0,
|
|
xmlLength = '',
|
|
indexA = '',
|
|
indexB = '',
|
|
indexC = '',
|
|
month = ['Jan','Feb','Mar','Apr','May','Jun','Jul','Aug','Sep','Oct','Nov','Dec'],
|
|
checking = 1,
|
|
$events = $('.events'),
|
|
$mon = $('.events .mon'),
|
|
$day = $('.events .day'),
|
|
$link_text = $('.events .event_name'),
|
|
$time = $('.events .event_info'),
|
|
$next = $('.events .links_next'),
|
|
$prev = $('.events .links_prev'),
|
|
objLength = $events.find('ul > li').length;
|
|
$next.on("click", function(){
|
|
if (checking&&selet < xmlLength) {
|
|
$('.links_prev').removeClass('disabled')
|
|
selet+=objLength;
|
|
$events.find('ul').fadeOut("fast", function () {
|
|
resetText()
|
|
$events.find('ul').fadeIn("fast" ,getEvent(selet));
|
|
});
|
|
if ((xmlLength-selet) == objLength) {
|
|
$('.links_next').addClass('disabled')
|
|
checking = 0;
|
|
} else if ((xmlLength-selet) < objLength) {
|
|
$('.links_next').addClass('disabled')
|
|
checking = 0;
|
|
}
|
|
}
|
|
return false;
|
|
});
|
|
$prev.on("click", function(){
|
|
if (selet > 0) {
|
|
$('.links_next').removeClass('disabled')
|
|
checking = 1;
|
|
selet-=objLength;
|
|
$events.find('ul').fadeOut("fast", function () {
|
|
$events.find('ul').fadeIn("fast" ,getEvent(selet));
|
|
});
|
|
if ((xmlLength-selet) == xmlLength ) {
|
|
$('.links_prev').addClass('disabled')
|
|
}
|
|
}
|
|
return false;
|
|
});
|
|
getEvent(selet);
|
|
function resetText() {
|
|
$events.find('li').find($mon).html('');
|
|
$events.find('li').find($day).html('');
|
|
$events.find('li').find($link_text).html('');
|
|
$events.find('li').find($link_text).attr('href', '');
|
|
$events.find('li').find($time).html('');
|
|
}
|
|
function getEvent(selet){
|
|
$.ajax({
|
|
type: "GET",
|
|
url: "/static/nccu_calendar.xml",
|
|
dataType: "xml",
|
|
timeout: 1000,
|
|
error: function(xml){
|
|
$events.find('.links_next').addClass('disabled')
|
|
$events.find('.error_mag').show();
|
|
$events.find('ul').hide();
|
|
$events.find('.error_mag').html("讀取錯誤");
|
|
},
|
|
success: function(xml) {
|
|
xmlLength = $(xml).find('entry').length;
|
|
$(xml).find('entry').slice(selet, selet+objLength).each(function(i){
|
|
title_text = $(this).find('title').text()
|
|
link_text = $(this).find('link').attr('href')
|
|
summary_text = $(this).find('summary').text()
|
|
indexA = summary_text.indexOf("-");
|
|
indexB = summary_text.indexOf(" ");
|
|
indexC = summary_text.indexOf("/");
|
|
//清除前後空白字元
|
|
summary_text = jQuery.trim(summary_text);
|
|
//篩選標題
|
|
title_text = title_text.slice(0, 16)
|
|
if (summary_text.length == 31) {
|
|
startDate_text = summary_text.slice(0, indexA);
|
|
startMon_text = startDate_text.slice((indexC+1), (indexC+3));
|
|
startDay_text = startDate_text.slice(7);
|
|
endDate_text = summary_text.slice((indexA+1), indexB);
|
|
time_text = summary_text.slice((indexB+1));
|
|
} else {
|
|
startDate_text = summary_text.slice(0, indexB);
|
|
startMon_text = startDate_text.slice((indexC+1), (indexC+3));
|
|
startDay_text = startDate_text.slice(7);
|
|
endDate_text = '';
|
|
time_text = summary_text.slice((indexB+1));
|
|
}
|
|
if(startMon_text.slice(0, 1) == '0'){
|
|
startMon_text = month[startMon_text.slice(1)-1];
|
|
} else {
|
|
startMon_text = month[startMon_text-1];
|
|
}
|
|
$events.find('li').eq(i).find($mon).html(startMon_text);
|
|
$events.find('li').eq(i).find($day).html(startDay_text);
|
|
$events.find('li').eq(i).find($link_text).html(title_text+"…");
|
|
$events.find('li').eq(i).find($link_text).attr('href', link_text);
|
|
$events.find('li').eq(i).find($time).html('時間:'+time_text);
|
|
//console.log();
|
|
/*$('<li></li>')
|
|
.html('<div class="event_date"><span class="mon">'+startMon_text+'</span><span class="day">'+startDay_text+'</div>')
|
|
.appendTo('.events ul');*/
|
|
});//close each(
|
|
}
|
|
}); //close $.ajax(
|
|
}
|
|
}); |