⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 timeline.js

📁 是个关于网格编程的程序
💻 JS
字号:
fanfou = new Object();fanfou.Timeline = function() {	this.server = 'http://api.fanfou.com';	if (typeof fanfou_name == 'undefined') {		this.name = '';	} else {		this.name = fanfou_name;	}	if (typeof fanfou_count == 'undefined' || isNaN(fanfou_count)) {		this.count = 20;	} else {		this.count = parseInt(fanfou_count);	}	if (this.name == '') {		this.timeline = 'public';	} else {		if (typeof fanfou_timeline != 'undefined' && (fanfou_timeline == 'friends' || fanfou_timeline == 'public')) {			this.timeline = fanfou_timeline;		} else {			this.timeline = 'user';		}	}};fanfou.Timeline.prototype = {	getDate: function(str) {		var arr = str.split(' ');		var str = arr[1] + ' ' + arr[2] + ', ' + arr[5] + ' ' + arr[3];		var current_date = new Date();		var parsed_date = Date.parse(str) - current_date.getTimezoneOffset() * 60 * 1000;		return new Date(parsed_date);	},	fullDate: function(date) {		return date.getFullYear() + '-' + (date.getMonth() >= 9 ? '' : '0') + (date.getMonth() + 1) + '-' + (date.getDate() > 9 ? '' : '0') + date.getDate() + ' ' + (date.getHours() > 9 ? '' : '0') + date.getHours() + ':' + (date.getMinutes() > 9 ? '' : '0') + date.getMinutes();	},	readableDate: function(date) {		var parsed_date = date.valueOf();		var current_date = new Date();		var past_seconds = parseInt((current_date.getTime() - parsed_date) / 1000);		if (past_seconds < 60) {			return past_seconds + ' 秒前';		} else if (past_seconds < 60 * 60) {			return (parseInt(past_seconds / 60)).toString() + ' 分钟前';		} else if (past_seconds < 60 * 60 * 24) {			return '约 ' + (parseInt(past_seconds / 3600)).toString() + ' 小时前';		} else {			return this.fullDate(date);		}	},	createName: function(obj) {		var name = document.createElement('a');		name.href = obj.url;		name.title = obj.name;		name.target = '_blank';		name.appendChild(document.createTextNode(obj.screen_name));		return name;	},	createText: function(obj) {		return document.createTextNode(obj.text);	},	createStamp: function(obj) {		var stamp = document.createElement('a');		var date = this.getDate(obj.created_at);		stamp.appendChild(document.createTextNode(this.readableDate(date)));		stamp.href = 'http://fanfou.com/statuses/' + obj.id;		stamp.className = 'stamp';		stamp.title = this.fullDate(date);		stamp.target = '_blank';		return stamp;	},	createLink: function() {		var item = document.createElement('li');		var link = document.createElement('a');		link.appendChild(document.createTextNode('更多消息'));		switch (this.timeline) {			case 'user':				link.href = 'http://fanfou.com/' + this.name;				break;			case 'friends':				link.href = 'http://fanfou.com/message/' + this.name;				break;			case 'public':				link.href = 'http://fanfou.com/browse';        break;			default:break;		}		link.title = '饭否';		link.target = '_blank';		item.appendChild(link);		return item;	},	createBrand: function() {		var brand = document.createElement('p');		var link = document.createElement('a');		link.href = 'http://fanfou.com/';		link.title = '饭否';		link.target = '_blank';		var img = document.createElement('img');		img.src = 'http://static.fanfou.com/img/brand.gif';		img.alt = '饭否';		link.appendChild(img);		brand.appendChild(link);		return brand;	},	statuses: function(obj) {		if (obj.length == 0) return false;		switch (this.timeline) {			case 'user':				var container_name = 'fanfou_statuses_user' + obj[0].user.id;				if (!document.getElementById(container_name)) {					document.write('<div id="' + container_name +'" class="fanfou_statuses"></div>');				}				var container = document.getElementById(container_name);				var statuses = document.createElement('ul');				for (var i=0; i<obj.length; i++){					var status = document.createElement('li');					status.appendChild(this.createText(obj[i]));					status.appendChild(document.createTextNode(' '));					status.appendChild(this.createStamp(obj[i]));					statuses.appendChild(status);				}				break;			case 'friends':				var container_name = 'fanfou_statuses_friends';				if (!document.getElementById(container_name)) {					document.write('<div id="' + container_name +'" class="fanfou_statuses"></div>');				}				var container = document.getElementById(container_name);				var statuses = document.createElement('ul');				for (var i=0; i<obj.length; i++){					var status = document.createElement('li');					status.appendChild(this.createName(obj[i]));					status.appendChild(document.createTextNode(':'));					status.appendChild(this.createText(obj[i].status));					status.appendChild(document.createTextNode(' '));					status.appendChild(this.createStamp(obj[i].status));					statuses.appendChild(status);				}				break;			case 'public':				var container_name = 'fanfou_statuses_public';				if (!document.getElementById(container_name)) {					document.write('<div id="' + container_name +'" class="fanfou_statuses"></div>');				}				var container = document.getElementById(container_name);				var statuses = document.createElement('ul');				for (var i=0; i<obj.length; i++){					var status = document.createElement('li');					status.appendChild(this.createName(obj[i].user));					status.appendChild(document.createTextNode(':'));					status.appendChild(this.createText(obj[i]));					status.appendChild(document.createTextNode(' '));					status.appendChild(this.createStamp(obj[i]));					statuses.appendChild(status);				}				break;			default:break;		}		statuses.appendChild(this.createLink());		container.appendChild(statuses);		container.appendChild(this.createBrand());			},	createStatuses: function(sObjName) {		switch (this.timeline) {			case 'user':				document.write('<script type="text/javascript" charset="utf-8" src="' + this.server + '/statuses/user_timeline/' + this.name + '.json?cb=' + sObjName + '.statuses&amp;c=' + this.count + '"></' + 'script>');				break;			case 'friends':				document.write('<script type="text/javascript" charset="utf-8" src="' + this.server + '/statuses/friends_timeline/' + this.name + '.json?cb=' + sObjName + '.statuses&amp;c=' + this.count + '"></' + 'script>');				break;			case 'public':				document.write('<script type="text/javascript" charset="utf-8" src="' + this.server + '/statuses/public_timeline.json?cb=' + sObjName + '.statuses&amp;c=' + this.count + '"></' + 'script>');				break;			default:break;		}	}};ffstatuses = new fanfou.Timeline();ffstatuses.createStatuses('ffstatuses');

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -