360新闻地址:http://sh.qihoo.com/i/

感觉这效果挺好的,随机九宫格,在不少地方可以用到,就研究了下他的源码,基本原理就是预先定义好几种布局模块,然后根据需要进行拼接,具体代码可以看下面的,复制下运行看效果吧。

源码打包下载地址:http://download.csdn.net/detail/sweetsuzyhyf/7107063

代码在这里:

  1. <html>
  2. <head>
  3. <title>win8九宫格随机布局</title>
  4. <style>
  5. #bd_toptab {
  6. width: 980px;
  7. margin: 0 auto;
  8. height: 256px;
  9. position: relative;
  10. }
  11. #bd_toptab .tabwrap {
  12. height: 234px;
  13. overflow: hidden;
  14. position: relative;
  15. width: 980px;
  16. }
  17. #bd_toptab .refresh {
  18. cursor: pointer;
  19. height: 38px;
  20. position: absolute;
  21. right: 0;
  22. top: 0;
  23. z-index: 1;
  24. width: 37px;
  25. background-color: green;
  26. }
  27. #bd_toptab .tabblock {
  28. background: #fff;
  29. height: 234px;
  30. overflow: hidden;
  31. position: absolute;
  32. width: 980px;
  33. }
  34. #bd_hot {
  35. position: relative;
  36. width: 980px;
  37. }
  38. #bd_hotimg .refresh:hover, #bd_hot .refresh:hover {
  39. background-position: -40px -200px;
  40. }
  41. #bd_hot .hot_wrap {
  42. height: 234px;
  43. position: relative;
  44. }
  45. #bd_hot .box {
  46. background: #ccc;
  47. color: #fff;
  48. overflow: hidden;
  49. position: absolute;
  50. text-align: center;
  51. }
  52. #bd_hot .box img {
  53. height: 100%;
  54. width: 100%;
  55. }
  56. #bd_hot .box a {
  57. color: #fff;
  58. display: block;
  59. height: 100%;
  60. text-decoration: none;
  61. overflow: hidden;
  62. width: 100%;
  63. }
  64. #bd_hot .box .main_title {
  65. cursor: pointer;
  66. display: inline-block;
  67. font-family: 'Microsoft Yahei';
  68. padding: 0 10px;
  69. }
  70. #bd_hot .box .sub_title {
  71. color: #ccc;
  72. }
  73. #bd_hot .box div {
  74. background: rgba(0,0,0,.8);
  75. bottom: 0;
  76. filter: progid:DXImageTransform.Microsoft.gradient(startColorstr=#cc000000,endColorstr=#cc000000) \9 height:100%;
  77. left: 0;
  78. position: absolute;
  79. width: 100%;
  80. height: 0;
  81. }
  82. #bd_hot .box div p {
  83. cursor: pointer;
  84. font-size: 12px;
  85. font-weight: 400;
  86. line-height: 18px;
  87. text-align: left;
  88. padding: 0 8px;
  89. }
  90. #bd_hot .box p strong {
  91. display: block;
  92. padding-bottom: 5px;
  93. }
  94. #bd_hot .box .tp_11 {
  95. font-size: 16px;
  96. }
  97. #bd_hot .box .tp_12 {
  98. font-size: 18px;
  99. }
  100. #bd_hot .box .tp_21 {
  101. font-size: 18px;
  102. }
  103. #bd_hot .box .tp_22 {
  104. font-size: 22px;
  105. }
  106. </style>
  107. </head>
  108. <body>
  109. <div id="bd_toptab">
  110. <div class="refresh">点击刷新</div>
  111. <div class="tabblock" id="tabblock"></div>
  112. </div>
  113. <script src="jquery-1.9.1.min.js"></script>
  114. <script>
  115. var tpl = [[{ size: [1, 1], pos: [0, 0] }, { size: [1, 1], pos: [1, 0] }, { size: [2, 2], pos: [0, 1] }], [{ size: [2, 2], pos: [0, 0] }, { size: [1, 1], pos: [0, 2] }, { size: [1, 1], pos: [1, 2] }], [{ size: [1, 1], pos: [0, 0] }, { size: [1, 1], pos: [1, 0] }, { size: [1, 2], pos: [0, 1] }, { size: [1, 1], pos: [1, 1] }, { size: [1, 1], pos: [1, 2] }], [{ size: [1, 1], pos: [0, 0] }, { size: [1, 1], pos: [1, 0] }, { size: [1, 1], pos: [0, 1] }, { size: [1, 1], pos: [0, 2] }, { size: [1, 2], pos: [1, 1] }], [{ size: [1, 2], pos: [0, 0] }, { size: [1, 1], pos: [1, 0] }, { size: [1, 1], pos: [1, 1] }, { size: [1, 1], pos: [0, 2] }, { size: [1, 1], pos: [1, 2] }], [{ size: [1, 1], pos: [0, 0] }, { size: [1, 1], pos: [0, 1] }, { size: [1, 2], pos: [1, 0] }, { size: [1, 1], pos: [0, 2] }, { size: [1, 1], pos: [1, 2] }], [{ size: [2, 1], pos: [0, 0] }, { size: [1, 1], pos: [0, 1] }, { size: [1, 1], pos: [1, 1] }, { size: [1, 1], pos: [0, 2] }, { size: [1, 1], pos: [1, 2] }], [{ size: [1, 1], pos: [0, 0] }, { size: [1, 1], pos: [1, 0] }, { size: [2, 1], pos: [0, 1] }, { size: [1, 1], pos: [0, 2] }, { size: [1, 1], pos: [1, 2] }], [{ size: [1, 1], pos: [0, 0] }, { size: [1, 1], pos: [1, 0] }, { size: [1, 1], pos: [0, 1] }, { size: [1, 1], pos: [1, 1] }, { size: [2, 1], pos: [0, 2] }]];
  116. var colors = ["#6e89a0", "#3e6181", "#f19b83", "#f3ab97", "#6696c1"];
  117. var data = [
  118. {
  119. "id": "12281",
  120. "title": "传刘德华加盟好声音",
  121. "ltitle": "传刘德华加盟好声音 收3千万顶替哈林",
  122. "url": "",
  123. "img": "http://p1.qhimg.com/dr/93_93_/t01626c454c447b2ec9.jpg?size=550x252"
  124. },
  125. {
  126. "id": "11886",
  127. "title": "麻花春晚小品再被毙",
  128. "ltitle": "开心麻花小品被毙 李敏镐现身春晚彩排现场",
  129. "url": "#",
  130. "img": ""
  131. },
  132. {
  133. "id": "12275",
  134. "title": "邓紫棋身价飙升25倍",
  135. "ltitle": "《我是歌手2》邓紫棋连夺两冠身价飙升25倍",
  136. "url": "",
  137. "img": "http://p3.qhimg.com/dr/93_93_/t018e3d49ab6025f006.jpg?size=550x380"
  138. },
  139. {
  140. "id": "12211",
  141. "title": "李娜表态不上春晚",
  142. "ltitle": "李娜表态坚决不会上春晚:冯小刚call我就关机",
  143. "url": "",
  144. "img": ""
  145. },
  146. {
  147. "id": "12276",
  148. "title": "第56届格莱美颁奖礼",
  149. "ltitle": "第56届格莱美颁奖礼落幕 电音入室显革新",
  150. "url": "",
  151. "img": "http://p4.qhimg.com/dr/93_93_/t01f028185fe6b09e79.jpg?size=600x374"
  152. },
  153. {
  154. "id": "12264",
  155. "title": "男子误点下跪求上车",
  156. "ltitle": "男子乘火车误点 向车站人员下跪求上车",
  157. "url": "",
  158. "img": ""
  159. },
  160. {
  161. "id": "12263",
  162. "title": "新华网发玉兔日记",
  163. "ltitle": "新华网发“玉兔”日记:可能熬不过这个月夜了",
  164. "url": "",
  165. "img": ""
  166. },
  167. {
  168. "id": "12119",
  169. "title": "杀医案被告获死刑",
  170. "ltitle": "温岭杀医案被告人获死刑 被认定有完全刑事责任能力",
  171. "url": "",
  172. "img": "http://p4.qhimg.com/dr/93_93_/t0147aa8f01295c6a20.jpg?size=400x264"
  173. },
  174. {
  175. "id": "12268",
  176. "title": "瑞典世界最古老树木",
  177. "ltitle": "瑞典发现世界最古老树木:活了9500岁 仍在生长",
  178. "url": "",
  179. "img": "http://p6.qhimg.com/dr/93_93_/t016c4c90a96bf75756.jpg?size=950x635"
  180. },
  181. {
  182. "id": "11074",
  183. "title": "中国失独家庭超百万",
  184. "ltitle": "中国失独家庭已超百万 每年约增长7.6万个",
  185. "url": "",
  186. "img": ""
  187. },
  188. {
  189. "id": "12273",
  190. "title": "巴西民众抵制世界杯",
  191. "ltitle": "再现打砸抢!巴西上千民众抵制世界杯",
  192. "url": "",
  193. "img": "http://p0.qhimg.com/dr/93_93_/t01f07017f6636f0ca4.jpg?size=845x566"
  194. },
  195. {
  196. "id": "12269",
  197. "title": "罗德曼因送大礼被查",
  198. "ltitle": "罗德曼送金正恩夫妇奢华大礼遭调查 超1万美元",
  199. "url": "",
  200. "img": "http://p7.qhimg.com/dr/93_93_/t01f9191af27087271b.jpg?size=550x309"
  201. },
  202. {
  203. "id": "12262",
  204. "title": "高富帅卖保时捷被埋",
  205. "ltitle": "高富帅网卖300万保时捷 被神秘买家电击后活埋",
  206. "url": "",
  207. "img": ""
  208. },
  209. {
  210. "id": "12266",
  211. "title": "斯诺登称将不再泄密",
  212. "ltitle": "斯诺登:不会也没有能力继续泄密",
  213. "url": "",
  214. "img": "http://p4.qhimg.com/dr/93_93_/t0110ee3195d656a495.jpg?size=460x276"
  215. },
  216. {
  217. "id": "12261",
  218. "title": "深圳车牌拍卖新高",
  219. "ltitle": "深圳车牌靓号拍卖新高:粤B8888R拍出172万",
  220. "url": "",
  221. "img": "http://p1.qhimg.com/dr/93_93_/t012bf84b38ad056a4f.jpg?size=550x372"
  222. },
  223. {
  224. "id": "12260",
  225. "title": "员工创业可停薪留职",
  226. "ltitle": "江西规定国企员工创业可停薪留职三年惹争议",
  227. "url": "",
  228. "img": ""
  229. },
  230. {
  231. "id": "12005",
  232. "title": "H7N9不排除人传人",
  233. "ltitle": "卫计委:H7N9不排除有限的非持续人传人",
  234. "url": "",
  235. "img": "http://p9.qhimg.com/dr/93_93_/t01bff3e08df1870ab1.jpg"
  236. },
  237. {
  238. "id": "12259",
  239. "title": "多省医保收不抵支",
  240. "ltitle": "人社部:多省医保当期收不抵支",
  241. "url": "",
  242. "img": "http://p5.qhimg.com/dr/93_93_/t013f2464192e661f46.jpg?size=298x400"
  243. },
  244. {
  245. "id": "12005",
  246. "title": "H7N9不排除人传人",
  247. "ltitle": "卫计委:H7N9不排除有限的非持续人传人",
  248. "url": "",
  249. "img": "http://p9.qhimg.com/dr/93_93_/t01bff3e08df1870ab1.jpg"
  250. },
  251. {
  252. "id": "12259",
  253. "title": "多省医保收不抵支",
  254. "ltitle": "人社部:多省医保当期收不抵支",
  255. "url": "",
  256. "img": "http://p5.qhimg.com/dr/93_93_/t013f2464192e661f46.jpg?size=298x400"
  257. }
  258. ];
  259. $("#bd_toptab .refresh").click(function () {
  260. $("#tabblock").empty();
  261. tpl.sort(function () { return 0.5 - Math.random() });
  262. data.sort(function () { return 0.5 - Math.random() });
  263. var html = '<div id="bd_hot">', count = 0, l = t = w = h = 0, s = 4;
  264. for (var i = 0; i < 4; i++) {
  265. for (var k = 0; k < tpl[i].length; k++) {
  266. if (count >= data.length) {
  267. break;
  268. }
  269. var item = tpl[i][k];
  270. w = item.size[0] == 1 ? 119 : 242;
  271. h = item.size[1] == 1 ? 75 : 154;
  272. l = item.pos[0] == 0 ? 246 * i : 246 * i + 123;
  273. if (item.pos[1] == 0) {
  274. t = 0;
  275. } else if (item.pos[1] == 1) {
  276. t = 79;
  277. } else {
  278. t = 158;
  279. }
  280. item = data[count];
  281. html += '<div class="box" style="width:' + w + 'px;height:' + h + 'px;top:' + t + 'px;left:' + l + 'px;background-color:' + colors.sort(function () { return 0.5 - Math.random() })[0] + '"><a href="' + item.url + '" target="_blank" class="img tp_12">';
  282. if (item.img) {
  283. html += '<img src="' + item.img + '" />';
  284. }
  285. html += '<span class="main_title">' + item.title + '</span><div><p><strong>' + item.title + '</strong><span class="sub_title">' + item.ltitle + '</span></p></div></a></div>';
  286. count++;
  287. }
  288. }
  289. html += '</div>';
  290. $("#tabblock").html(html);
  291. $('#tabblock .box').each(function () {
  292. var _this = $(this), _title = _this.find('.main_title'), _p = _this.find('p'), h = _this.height();
  293. _title.css('padding-top', (h - _title.height()) / 2 + 'px');
  294. _p.css('padding-top', (h - _p.height()) / 2 + 'px');
  295. _this.hover(function () {
  296. _this.find('div').animate({ height: '100%' }, 300);
  297. }, function () {
  298. _this.find('div').animate({ height: '0' }, 300);
  299. });
  300. });
  301. }).click();
  302. </script>
  303. </body>
  304. </html>

仿360新闻的热搜图片,win8风格随机九宫格布局的更多相关文章

  1. 基于jquery仿360网站图片选项卡切换代码

    今天给大家分享一款基于jquery仿360网站图片选项卡切换代码.这款实例适用浏览器:IE8.360.FireFox.Chrome.Safari.Opera.傲游.搜狗.世界之窗.效果图如下: 在线预 ...

  2. Web编程基础--HTML、CSS、JavaScript 学习之课程作业“仿360极速浏览器新标签页”

    Web编程基础--HTML.CSS.JavaScript 学习之课程作业"仿360极速浏览器新标签页" 背景: 作为一个中专网站建设出身,之前总是做静态的HTML+CSS+DIV没 ...

  3. C#制作高仿360安全卫士窗体<一>

    开始写这一系列博客之前先要向大家说声抱歉,放肆雷特建立很久却很少有更新.当然博客人气也不旺,大部分都是看的人多评论收藏的人少.一直想要改变这种状态,正好赶上了最近工作上做了一个高仿360安全卫士窗体. ...

  4. html5--项目实战-仿360囧图

    html5--项目实战-仿360囧图 实例: 代码 <!doctype html> <html> <head> <meta charset="utf ...

  5. C#制作高仿360安全卫士窗体<二>

    继上次C#制作高仿360安全卫士窗体<一>发布之后响应还不错,我的博客放肆雷特也来了不少的新朋友,在这里先谢谢大家的支持!我自己也反复看了一下觉得对不起大家,写的非常乱而且很少文字介绍.在 ...

  6. C#制作高仿360安全卫士窗体(四)- 水晶按钮

    项目越来越紧,我也乐此不疲.自从上次C#制作高仿360安全卫士窗体(三)出来之后,就开始有一些人在说为什么还在坚持写这么落后的东西.我想说的是,我是从事企业信息化工作的,所有程序都只对内部使用.所以只 ...

  7. C#制作高仿360安全卫士窗体(三)

    距上篇C#制作高仿360安全卫士窗体(二)也将近一个多月了,这个月事情还是像往常一样的多.不多我也乐在其中,毕竟我做的是我喜欢做的东西.今天特地抽空把怎么制作文本框写一下.同时也希望有爱好这些玩意的同 ...

  8. Android 开源框架ActionBarSherlock 和 ViewPager 仿网易新闻客户端

    转载请注明出处:http://blog.csdn.net/xiaanming/article/details/9971721 大家都知道Android的ActionBar是在3.0以上才有的,那么在3 ...

  9. C#制作高仿360安全卫士窗体3

    C#制作高仿360安全卫士窗体(三)   距上篇C#制作高仿360安全卫士窗体(二)也将近一个多月了,这个月事情还是像往常一样的多.不多我也乐在其中,毕竟我做的是我喜欢做的东西.今天特地抽空把怎么制作 ...

随机推荐

  1. 安装vb6 正在更新系统 无响应

    新装的win10系统,安装vb6时,最后一直卡在“正在更新系统”,程序无响应,没办法,kill掉后,貌似不影响软件使用,但是安装vs6sp6B无法成功安装. 解决办法是: 不安装“数据访问”组件. 参 ...

  2. 从0开始学习blockchain

    http://www.8btc.com/build-your-own-blockchain

  3. Html复杂表头的实现

    实现效果 代码实现

  4. PHP socket模拟POST请求

    <?php if (! function_exists ( 'socket_post' )) { function socket_post($url, $data, $referer = '') ...

  5. Astyle编程语言格式化工具的说明

    1.工具->扩展和更新,搜astyle插件,下载安装重启,当前是2.0版本. 2.工具->选项->AStyle Formatter->Edit,填入下面的,点击save,确定. ...

  6. HDU1860:统计字符

    Problem Description 统计一个给定字符串中指定的字符出现的次数   Input 测试输入包含若干测试用例,每个测试用例包含2行,第1行为一个长度不超过5的字符串,第2行为一个长度不超 ...

  7. 关于微信分享功能开发的一些bug

    wx.onMenuShareTimeline({//onMenuShareTimeline title: (h('#mainForm').children('.content').inf('value ...

  8. Linux教程之配置权限受限制的SFTP

    SFTP 在Linux下是一个很方便很安全的文件传输工具,我常常用它在Linux服务器上替代传统的ftp来传输文件.众所周知SFTP账号是基于SSH账号的,默认情况下访问服务器的权限很大,下面的教程就 ...

  9. AJAX程序实验

    1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 < ...

  10. linux 配置tomcat服务器

    1. 找到tomcat安装包    find / -name apache-tomcat* 2. 解压包 tar zxvf apache-tomcat-7.0.67.tar.gz rpm -ivh j ...