想用asp.net实现类似吾志的功能,该怎么做?
一个页面分布几十张图,图片都是用户的头像,点击图片进去后是该用户的个人页面。一个用户刚发完日志后就会出现在首页上 --------------------编程问答-------------------- 我只能给你一个大概的示意。比如说画布被分割为m行列的网格,每一个(矩形)图片占有一个或者多个网格。假设我们用
public class 网格来描述单个网格,而用
{
public int 行;
public int 列;
public bool 是否被占;
}
List<网格> canvas;来描述画布。
假设要从画布上找出一个可以容纳m行n列的空间,大致可以写:
var 目标位置 = (from lt in canvas实际上如果你需要排序,例如距离0行0列越近的空间优先级越高,那么还可以在select之前加上一个order by语句。
from i in Enumerable.Range(lt.行, m)
from j in Enumerable.Range(lt.列, n)
let cell = canvas.FirstOrDefault(c => c.行 == i && c.列 == j)
where cell != null && cell.是否被占 == false
select lt).First();
学会linq吧。不然许多程序员会再将来被一些软件公司作为“算法傻瓜”而看待来的。 --------------------编程问答-------------------- 比如说画布被分割为m行列的网格 --> 比如说画布被分割为“行列”的网格 --------------------编程问答-------------------- 每当要向画布放入一个m行n列的图片(例如windows8的“磁贴”那种布局),使用上诉一行语句计算出“目标位置”,这就是要放置图片的左上角的网格坐标。然后把图片放到实际的画布的这个坐标位置,并且在canvas中将这个m行n列所遮盖的网格
foreach(var cell in from i in Enumerable.Range(lt.行, m)
from j in Enumerable.Range(lt.列, n)
select canvas.First(c=>c.行==i && c.列==j))
{
.........
}
设置上“被占用”的标记防止以后被覆盖。
--------------------编程问答-------------------- 一个用户刚发完微博就显示出来可以使用ajax无刷新更新,配合滚动。 --------------------编程问答-------------------- 一个页面分布几十张图,图片都是用户的头像 ->可以去看看JQ瀑布流
一个用户刚发完日志后就会出现在首页上 ->这个具体看你流量了。一般ajax 处理会好些 --------------------编程问答-------------------- --------------------编程问答-------------------- 瀑布流布局,请参考http://www.school51.com/Sell/guang.aspx;这里是官网demo:http://masonry.desandro.com
补充:.NET技术 , ASP.NET