Asp.net+jquery+ajaxpro异步仿Facebook纵向时间轴效果
Asp.net+jquery+ajaxpro异步仿Facebook纵向时间轴效果
在一个项目中,用到了时间轴展示产品的开发进度,为了更好用户体验,想到了Facebook的timeline效果,
搜了一下,找到了这个效果。结合asp.net和ajax异步加载数据。
先上效果图:

该效果使用了jquery、 jQuery Masonry 插件。大家可以自由发挥,再加上滚动加载效果就更好了。
参考这篇文章:[用 jQuery Masonry 插件创建瀑布流式的页面]
Demo萌点这里:百度网盘下载
http://pan.baidu.com/share/link?shareid=2913037399&uk=1765114824
asp.net C#后台代码:
using System.Web;
using System.Web.UI;
using System.Web.UI.WebControls;
using AjaxPro;
public partial class _Default : System.Web.UI.Page
{
protected void Page_Load(object sender, EventArgs e)
{
AjaxPro.Utility.RegisterTypeForAjax(typeof(_Default));
}
[AjaxMethod]
public List<TestData> getData()
{
List<TestData> list = new List<TestData>();
for (int i = 0; i < 50; i++)
{
TestData td = new TestData();
td.DateTimer = DateTime.Now.AddDays(-i).ToString("yyyy-MM-dd");
td.Descc = "这是一点小意思,请你收下,到时候选举还要请你帮忙投我家老李一票……这不好吧,你太客气了,你就是不送,我也会投老李的……说着,忙拿过来看,这是啥啊?我说村长夫人,这怎么就一只鞋啊?你放心,那只投票之后,我就送给你……" + i.ToString();
td.ID = i;
td.Title = "测试标题"+i.ToString();
td.Url = "http://suchso.com?a="+i;
list.Add(td);
}
return list;
} }
public class TestData
{
public TestData()
{ }
public int ID { get; set; }
public string Title { get; set; }
public string DateTimer { get; set; }
public string Descc { get; set; }
public string Url { get; set; }
}
js引用:
<script src="http://ajax.googleapis.com/ajax/libs/jquery/1.7.2/jquery.min.js" type="text/javascript"></script>
<script type="text/javascript" src="js/jquery.masonry.min.js"></script>
逻辑js:
<script type="text/javascript" >
$(document).ready(function () {
GetData();
});
function GetData() {
_Default.getData(ForeachShowresult);
}
function ForeachShowresult(res) {
if (res != null) {
var html = "";
$.each(res.value, function (i, obj) {
html=html+" <div class=\"item\">";
html=html+" <div class=\"inner\">";
html = html + " <h2><a href=\"" + obj.Url + "\">" + obj.Title + "</a></h2>";
html = html + " <p>" + obj.Descc + "</p>";
html=html+"</div>";
html=html+"</div>";
});
$("#divdata").html(html);
SetDataClass();
}
}
function SetDataClass() {
// masonry plugin call
$('#container').masonry({ itemSelector: '.item' });
//injecting arrow points
function Arrow_Points() {
var s = $("#container").find(".item");
$.each(s, function (i, obj) {
var posLeft = $(obj).css("left");
if (posLeft == "0px") {
html = "<span class='rightCorner'></span>";
$(obj).prepend(html);
} else {
html = "<span class='leftCorner'></span>";
$(obj).prepend(html);
}
});
}
Arrow_Points();
}
</script>
样式Css:
<style type="text/css">
*{ margin:0; padding:0; }
body { font:12px/1.5 "Microsoft Yahei"; color:#808080;}
h1 { font-size:18px; text-align:center; margin:20px;}
#container { position:relative; width:860px; margin:0 auto; }
.item {width:408px; margin:20px 10px 10px; float:left; background:#fff; border:1px solid #b4bbcd; text-align:justify; word-wrap:break-word;}
.inner { padding:10px;}
.inner h2 { margin-bottom:10px;}
.inner h2 a { font-size:15px; color:#333; text-decoration:none;}
.inner h2 a:hover {color:#f30;}
/*timeline navigatior css*/
.timeline_container { display:block; width:16px; height:100%; margin:0 auto;text-align:center; cursor:pointer;}
.timeline{ display:block; width:4px; height:100%; margin:0 auto; overflow:hidden; font-size:0; float:left; position:absolute; left:428px; top:10px; background-color:#e08989;}
/*arrow css style*/
.leftCorner, .rightCorner { display:block; width:13px; height:15px; overflow:hidden; position:absolute; top:8px; z-index:2; }
.rightCorner { right:-13px; background-image:url(images/right.gif);}
.leftCorner { left:-13px; background-image:url(images/left.gif);}
</style>
.item的样式,大家可以自由发挥。类似下面这样的,都不错。哈哈

Html结构:

<div id="container">
<!-- E TimeLine导航 -->
<div class="timeline_container">
<div class="timeline">
<div class="plus"></div>
</div>
</div>
<!-- E TimeLine导航 -->
<div id="divdata"></div>
</div>

<div class="timeline_container">这个div是纵向时间轴的样式,不能去掉。
对大家有一些帮助的话,请点击一下推荐哦。。
Asp.net+jquery+ajaxpro异步仿Facebook纵向时间轴效果的更多相关文章
- 横向、纵向时间轴timeline系列
近期移动端项目用到了很多时间轴.纵向的.开始可以实现,但是不利于维护.整理下, 以作为备份留存学习参考.子元素的 标签的 :before实现圆点,:after实现边线border纵向时间轴,单一右边内 ...
- CSS- 横向和纵向时间轴
时间轴在展示公司发展信息,服务流程中用的比较多,常见的注册登录有的是通过引导,一步一步的来完成,上面会通过时间轴告诉用户当前在哪一步,公司在关于我们或者发展流程的时候也特别喜欢用时间轴来展示,简单的实 ...
- 利用css制作横向和纵向时间轴
Html代码: <div class="container"> <p>原文地址:http://www.cnblogs.com/xiaofeixiang/&l ...
- jQuery鼠标滑过横向时间轴效果
jQuery鼠标滑过横向时间轴效果---效果图: jQuery鼠标滑过横向时间轴效果---全部代码: <!DOCTYPE html> <html> <head> & ...
- Android仿快递 物流时间轴 的代码实现
首先,这篇参考了别人的代码.根据自己的项目需求简单改造了一下,效果图如下 xml:代码 <?xml version="1.0" encoding="utf-8&qu ...
- jquery zTree异步加载的例子
下面是使用zTree异步加载的一个例子: 1)初始化树的时候是ajax请求,返回nodes列表来初始化树的:如果一开始就异步的话,$.fn.zTree.init($("#zTree" ...
- jQuery时间轴插件timeline.js
http://www.jq22.com/jquery-info13695 http://www.jq22.com/jquery-info13357 简要教程 timeline.js是一款jQuery时 ...
- 基于jQuery的时间轴鼠标悬停动画插件
之前为大家分享了很多jquery插件,这次我们要来分享一款不太常见的jQuery插件,它是一个时间轴,时间轴上的每一个点在鼠标滑过时都可以显示该点的描述信息,并且鼠标滑过时都可以产生一定的动画特效,比 ...
- jquery时间轴tab切换效果实现结合swiper实现滑动显示效果
需求:根据时间轴进行tab页面内容切换(时间轴需要滑动查看并选择) 实现思路: 结合swiper插件实现滑动显示效果 根据transform: translateX进行左侧切换效果的实现(具体实现cs ...
随机推荐
- android--解--它们的定义tabhost(动态添加的选项+用自己的主动性横向滑动标签+手势切换标签页和内容特征)
在本文中,解决他们自己的定义tabhost实现,并通过代码集成动态加入标签功能.自己主动标签横向滑动功能.和手势标签按功能之间切换. 我完成了这个完美的解决方案一起以下: 1.定义tabwidget布 ...
- Matlab学习第二天 利用插值
插入值一切手段: watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQvdTAxNDQ5MjI1Nw==/font/5a6L5L2T/fontsize/400/fi ...
- java学习笔记2——Eclipse的安装及汉化图解
Eclipse的安装 有了JDK,你可以编译Java源码,运行Java程序,但是还没有代码编辑器,没有版本管理工具,也不能方便的管理工程文件,不能与团队协作.安装Eclipse,你才能完成这些工作. ...
- js小记 function 的 length 属性
原文:js小记 function 的 length 属性 [1,2,3]., ,这个略懂js的都知道. 但是 eval.length,RegExp.length,"".toStr ...
- 瘸腿蛤蟆笔记29-cocos2d-x-3.2 Box2d物理引擎dynamics模块介绍
转载标明出处:http://blog.csdn.net/notbaron/article/details/38611335 上篇回想 本篇名言:奋斗.寻觅.发现,而不屈服.[诗人丁尼生] 上篇中,我们 ...
- 批处理命令篇--配置免安装mysql 5.6.22, 以及1067错误的一个解决方法
mysql 服务启动出现1067错误的一个解决方法: 当服务启动出现1067错误时,可查看“windows 事件查看器”,发现类似错误提示 Can't find messagefile 'F:\ ...
- 苹果新的编程语言 Swift 语言进阶(十二)--选项链
选项链是使用选项来查询和调用其属性.方法或下标的一个过程,假设选项包括一个值,则属性.方法.下标的查询和调用成功,否则,调用返回nil. 选项链能用在不论什么类型的选项来检查对其一个属性.方法.下标的 ...
- 基于tomcat为了应对高并发模型实现webserver
在博客上,一个简单的AIOweb来样加工.查看AIO异步处理,依靠操作系统完成IO操作Proactor处理模型确实很强大,它可以实现高并发.高响应server一个很好的选择,但在tomcat中间con ...
- TDD(测试驱动开发)学习二:创建第一个TDD程序
本节我们将学习一些测试驱动开发环境的搭建,测试驱动开发概念和流程.所涉及的内容全部会以截图的形式贴出来,如果你也感兴趣,可以一步一步的跟着来做,如果你有任何问题,可以进行留言,我也会很高兴的为你答疑. ...
- Hibernat之关系的处理多对多
第一步:编写两个pojo,比如一个学生表一个课程表 这里使用注解. 需要 课程表: package com.qcf.pox; import java.util.HashSet; import jav ...