mirror of
https://github.com/wahyd4/sohub.git
synced 2026-08-11 22:16:53 +10:00
178 lines
6.1 KiB
JavaScript
178 lines
6.1 KiB
JavaScript
$(document).ready(function () {
|
|
|
|
if (!assertOnPage('message')) {
|
|
return false;
|
|
}
|
|
|
|
var interval = 1000 * 60;
|
|
var nextChildToShow = 1;
|
|
var textMessageCount = 1;
|
|
var timeToShowNextMessage = 1000 * 5;
|
|
|
|
|
|
/**
|
|
* 切换容器中的文字
|
|
* @param container
|
|
* @param flag 初始值
|
|
*/
|
|
function slideDiv(container, flag) {
|
|
var flag = flag || textMessageCount;
|
|
setInterval(function () {
|
|
var children = container.children();
|
|
if (flag >= children.length) {
|
|
//reset the flag to 0
|
|
flag = 0;
|
|
}
|
|
//hide all the children nodes
|
|
for (var j = 0; j < children.length; j++) {
|
|
$(children[j]).hide();
|
|
}
|
|
//show the next children nodes
|
|
for (var i = flag; i < flag + textMessageCount; i++) {
|
|
$(children[i]).show('slow');
|
|
}
|
|
//flag +3
|
|
flag = flag + textMessageCount;
|
|
}, timeToShowNextMessage);
|
|
}
|
|
|
|
/**
|
|
* 循环显示不同类型的消息
|
|
* @param interval
|
|
* @param nextChildToShow
|
|
*/
|
|
function cycling(interval, nextChildToShow) {
|
|
setInterval(function () {
|
|
var containers = $('.main-container').children();
|
|
hideAllChildren('.main-container');
|
|
var nextContainer = containers[nextChildToShow] || containers[0];
|
|
$(nextContainer).show('slow');
|
|
|
|
if (nextChildToShow === containers.length) {
|
|
nextChildToShow = 0;
|
|
}
|
|
nextChildToShow++;
|
|
}, interval);
|
|
}
|
|
|
|
cycling(interval, nextChildToShow);
|
|
|
|
$.get('/message/text', function (json) {
|
|
})
|
|
.done(function (json) {
|
|
var content = $('.text-content');
|
|
for (var i = 0; i < json.length; i++) {
|
|
var item = $('<li style="display: none"></li>');
|
|
|
|
var footprint = $('<div></div>').addClass('footprint');
|
|
footprint.append('<img src="/images/elephant.jpg">');
|
|
footprint.append('<div>' + json[i].fromUser + '发表于' + timeSince(json[i].createTime) + '</div>');
|
|
item.append(footprint);
|
|
|
|
if (i === 0) {
|
|
item.css('display', 'block');
|
|
}
|
|
item.append('<p>' + json[i].content + '</p>');
|
|
content.append(item);
|
|
}
|
|
|
|
|
|
slideDiv(content);
|
|
//hide the loading text
|
|
$('#loading').hide();
|
|
})
|
|
.fail(function (error) {
|
|
console.log('出错了!');
|
|
});
|
|
|
|
//delay 1 minute to display images
|
|
setTimeout(function () {
|
|
$.get('/message/image', function (json) {
|
|
var imageContainer = $('.image-content');
|
|
for (var i = 0; i < json.length; i++) {
|
|
var item = $('<li></li>');
|
|
item.append('<img src="' + json[i].pictureUrl + '">');
|
|
imageContainer.append(item);
|
|
|
|
}
|
|
slideDiv(imageContainer, textMessageCount);
|
|
|
|
});
|
|
}, interval - 1000 * 30);
|
|
|
|
// delay almost 2 minute to display notice message
|
|
setTimeout(function () {
|
|
$.get('/message/notice', function (json) {
|
|
var noticeContainer = $('.notice-content');
|
|
for (var i = 0; i < json.length; i++) {
|
|
var item = $('<li style="display: none"></li>');
|
|
|
|
var footprint = $('<div></div>').addClass('footprint');
|
|
footprint.append('<img src="/images/elephant.jpg">');
|
|
footprint.append('<div>' + json[i].fromUser + '发表于' + timeSince(json[i].createTime) + '</div>');
|
|
item.append(footprint);
|
|
item.append('<p>' + json[i].content + '</p>');
|
|
noticeContainer.append(item);
|
|
|
|
}
|
|
|
|
slideDiv(noticeContainer, textMessageCount);
|
|
|
|
});
|
|
}, interval * 2 - 1000 * 30);
|
|
|
|
|
|
// delay almost 2.5 minute to display notice message
|
|
setTimeout(function () {
|
|
$.get('/weibo', function (json) {
|
|
json = json.items;
|
|
console.log(json);
|
|
var weiboContainer = $('.weibo-content');
|
|
for (var i = 0; i < json.length; i++) {
|
|
var item = $('<li style="display: none"></li>');
|
|
|
|
var footprint = $('<div></div>').addClass('footprint');
|
|
footprint.append('<img src="' + json[i].user.avatar_hd + '">');
|
|
footprint.append('<div>' + json[i].user.name + '发布于' + timeSince(new Date(json[i].created_at)) + '</div>');
|
|
item.append(footprint);
|
|
var content = $('<div class="weibo"> </div>');
|
|
if (json[i].original_pic !== undefined) {
|
|
content.append('<img src="' + json[i].original_pic + '"></img>');
|
|
}
|
|
content.append('<p>' + json[i].text + '</p>');
|
|
item.append(content);
|
|
weiboContainer.append(item);
|
|
|
|
}
|
|
|
|
slideDiv(weiboContainer, textMessageCount);
|
|
|
|
});
|
|
}, interval * 3 - 1000 * 30);
|
|
|
|
setTimeout(function () {
|
|
$.get('/calendar', function (json) {
|
|
console.log(json);
|
|
json = json.items;
|
|
var calendarContainer = $('.calendar-content');
|
|
for (var i = 0; i < json.length; i++) {
|
|
var item = $('<li style="display: none"></li>');
|
|
|
|
var footprint = $('<div></div>').addClass('footprint');
|
|
footprint.append('<img src="/images/elephant.jpg">');
|
|
footprint.append('<div>' + json[i].organizer.displayName + '发布于' + timeSince(new Date(json[i].created)) + '</div>');
|
|
item.append(footprint);
|
|
var content = $('<div class="calendar"> </div>');
|
|
content.append('<p>从' + json[i].start.dateTime + '到' + json[i].end.dateTime + '</p>')
|
|
content.append('<p>' + json[i].summary + '</p>');
|
|
item.append(content);
|
|
calendarContainer.append(item);
|
|
|
|
}
|
|
|
|
slideDiv(calendarContainer, textMessageCount);
|
|
|
|
});
|
|
}, interval * 4 - 1000 * 30);
|
|
|
|
}); |