时尚酷族

标题: DZX2.0版图片版瀑布流分享 [打印本页]

作者: CooL.泪猪    时间: 2012-7-29 23:35
标题: DZX2.0版图片版瀑布流分享
近日看到网上流行的瀑布流,也参照改了下,但是网上的forumdisplay_list.htm都是全部替换form表单里的所有项,直接影响到的是非图片版帖子列表界面,其实没必要把form表单里的所有项都替换,仅替换“else if 图片部分+分页”部分即可。
: S! l1 N3 {. E% U为了完整方法跟其他帖写的都一样,为方便新手,操作如下:
8 l, g2 K; g$ c9 k
8 L( J& i1 W0 [- c' M: p1、将qing模板目录下\image\redef.js移动至正在使用模板的图片存放目录,同时将qing模板中的bg_waterfall.png、bg_pgbtn.png移动至当前模板图片目录。) [1 Z: ?* Q3 y+ G
2、模板目录下增加common\extend_common.css,其内容如下:
  1. 0 O6 l) ~; y) ?# s  M, \& B
  2. /* 大分页按钮 by Pony 1203121325 */0 ^; V2 i  j2 T) ?0 \9 u
  3. .pgbtn { margin: 5px 0 10px; }9 d9 z- K/ B3 r; V' j5 M& `) e& N
  4. .pgbtn a { display: block; height: 40px; line-height: 40px; letter-spacing: 5px; text-align: center; border: 1px solid #DCDCDC; background: #F5F5F5 url({STYLEIMGDIR}/bg_pgbtn.png) repeat-x 0 0; font-size: 14px; outline: none; border-radius: 5px; box-shadow: 0 1px 0 #F5F5F5; }
    6 g/ ~2 K, P% V. I
  5. .pgbtn a:hover { border-color: #BABABA; text-decoration: none; }
    8 w. |3 ]( k& G' ]
  6. .pgbtn a:active { background: #EEE; border-color: #D0D0D0; box-shadow: none; }2 q4 P* Z! k* t

  7. 8 O' G) G1 o6 p% {: Q
  8. /* 瀑布流布局 by Pony 1204121803 */
    # Z+ y# \3 w4 n, D
  9. .waterfall { position: relative; margin-top: 15px; }
    1 l. }5 K2 x6 Z' D) @5 p
  10. .waterfall li { margin: 0 10px 10px 0; padding: 0 0 3px; text-align: left; border-width: 1px 0 0; border-top: 1px solid #EAEAEA; background: url({STYLEIMGDIR}/bg_waterfall.png) no-repeat 100% 100%; }
    - r9 I" l+ r( ?/ y" G
  11. .waterfall .c, .waterfall h3 { padding: 10px; border: solid #EAEAEA; border-width: 0 1px; background-color: #F8F8F8; }
    ) `9 F7 y7 A8 p
  12. .waterfall .c { overflow: hidden; padding-bottom: 0; max-height: 800px; }9 j2 S* B$ M0 d
  13. .waterfall .c .nopic { display: block; background:{WRAPBG} url({IMGDIR}/nophototiny.png) no-repeat 50% 50%; cursor: pointer; }( |1 r* G' X" H2 @; V5 {3 H3 k
  14. .waterfall .auth { padding: 0 10px 10px; border-width: 0 1px 1px; border-style: solid; border-color: transparent #EAEAEA #B9B9B9; background: #F8F8F8; }
    ( Y& e1 X% s+ p4 X( Y" B* X
  15. .waterfall .auth img { display: inline-block; margin: 0 1px; }
    6 X7 v$ r: Z% e4 ?* F* g' x. h
复制代码
3、拷贝qing\forum\forumdisplay_list.htm文件里的“else if 图片部分+分页”替换default里的forumdisplay_list.htm的相应图片部分(即从<!-- end of table "forum_G[fid]" branch 2/3 --> 开始到</form>结束)。
  1. 4 x3 X3 ~# S  w* d7 x
  2. <!--{else}-->( e* T7 _. ^& e8 p" b% G
  3. </table><!-- end of table "forum_G[fid]" branch 2/3 -->5 [8 d3 c/ I$ |! h- H7 i4 p
  4. <ul id="waterfall" class="ml waterfall cl">& _5 M) |3 F: g( n# Y% O
  5. <!--{loop $_G['forum_threadlist'] $key $thread}-->; l# [( |3 V, K6 L
  6. <!--{if !$thread['forumstick'] && ($thread['isgroup'] == 1 || $thread['fid'] != $_G['fid'])}-->5 A. S4 G( y9 S! q
  7. <!--{if $thread['related_group'] == 0 && $thread['closed'] > 1}-->
    . d* u+ ?" y' F& F! K3 T( p
  8. <!--{eval $thread[tid]=$thread[closed];}-->
    ' p# L7 H- e3 i, m4 N5 T
  9. <!--{/if}-->0 z$ {. V+ r, t- O; V! j) {
  10. <!--{/if}-->
    3 J$ o" [- b+ l; p( S
  11. <!--{eval $waterfallwidth = $_G[setting][forumpicstyle][thumbwidth] + 24; }-->
    . g" l. I5 W9 g2 |
  12. <li style="width:{$waterfallwidth}px;">& U2 m% c2 ~7 a- t! u+ M+ N& J
  13. <!--{if !$_GET['archiveid'] && $_G['forum']['ismoderator']}-->
    & n$ h  z9 @' w& P5 h: ~
  14. <div style="position:absolute;margin:1px;padding:2px;background:#FFF">
    ' w% x( T8 Z" v3 C0 c6 n6 ~
  15. <!--{if $thread['fid'] == $_G[fid]}-->
    6 j+ @/ r* |4 D' z! e
  16. <!--{if $thread['displayorder'] <= 3 || $_G['adminid'] == 1}-->
    3 ~9 o; v, |; p' a% L, w% K
  17. <input onclick="tmodclick(this)" type="checkbox" name="moderate[]" value="$thread[tid]" />8 ]8 ^6 c: S. p& \) ?
  18. <!--{else}-->
    . @" u. s" P9 `; G/ [- c
  19. <input type="checkbox" disabled="disabled" />
    - I% g' w3 k" S) m7 V3 V7 F% z
  20. <!--{/if}-->
    2 A  n8 G, E0 f
  21. <!--{else}-->7 e* g! T* u6 L) E8 N/ R
  22. <input type="checkbox" disabled="disabled" />: Q0 o9 F, {+ V+ ^
  23. <!--{/if}-->* N, |' C. u! ^, A: E
  24. </div># G8 v, n: c% L* f+ _1 Y4 Q+ b% ^8 s4 q
  25. <!--{/if}-->, B7 A* X: J/ @: q3 x0 w3 u
  26. <div class="c cl">! n: `/ @0 C, H0 x0 t4 f) X' }
  27. <a href="forum.php?mod=viewthread&tid=$thread[tid]&{if $_GET['archiveid']}archiveid={$_GET['archiveid']}&{/if}extra=$extra" {if $thread['isgroup'] == 1 || $thread['forumstick'] || CURMODULE == 'guide'} target="_blank"{else} onclick="atarget(this)"{/if} title="$thread[subject]" class="z">
    6 |8 [% a$ y$ i4 _7 T3 z2 K( q
  28. <!--{if $thread['cover']}-->0 V; C1 y$ e% v0 @/ U
  29. <img src="$thread[coverpath]" alt="$thread[subject]" width="{$_G[setting][forumpicstyle][thumbwidth]}" />
    ' {# E$ w0 E9 ^# d3 [' C
  30. <!--{else}-->3 y% O: P8 X4 E- U
  31. <span class="nopic" style="width:{$_G[setting][forumpicstyle][thumbwidth]}px; height:{$_G[setting][forumpicstyle][thumbwidth]}px;"></span>2 t& M( }6 F* }* t$ e, W- X
  32. <!--{/if}-->8 K! U# u: M1 y! ^& x
  33. </a>9 |6 D9 |( i, k' T. z* ~; y
  34. </div>
    3 V% w8 F# ]7 V4 z
  35. <h3 class="xw0">
    2 i- ]: l6 x9 t% f- X% d& a
  36. <!--{hook/forumdisplay_thread $key}-->- Y7 h- d  T+ T, X
  37. <a href="forum.php?mod=viewthread&tid=$thread[tid]&{if $_GET['archiveid']}archiveid={$_GET['archiveid']}&{/if}extra=$extra"$thread[highlight]{if $thread['isgroup'] == 1 || $thread['forumstick']} target="_blank"{else} onclick="atarget(this)"{/if} title="$thread[subject]">$thread[subject]</a>2 \1 T1 Y4 `2 Z8 ~+ V+ x; m# `
  38. </h3>
    ) e( Q* F8 ], p  U8 f9 c
  39. <div class="auth cl">" f: ~( N  i6 T! f5 |4 Q
  40. <cite class="xg1 y">
    " y( n8 N) S5 P. D% U( Z. Q: D
  41. {echo '喜欢'}: <!--{if $thread[recommends]}-->$thread[recommends]<!--{else}-->0<!--{/if}--># b. K1 j5 S* t; M
  42. {lang reply}: <a href="forum.php?mod=viewthread&tid=$thread[tid]&extra=$extra" title="$thread[replies] {lang reply}">$thread[replies]</a>) L1 f4 W# I8 i0 j
  43. </cite>
    / z& \" u- ~" h( F9 W. C
  44. <!--{hook/forumdisplay_author $key}-->
    " ?5 ~" n7 I! T% C  @% }
  45. <!--{if $thread['authorid'] && $thread['author']}-->
    4 P7 q, i; ~% O3 `
  46. <a href="home.php?mod=space&uid=$thread[authorid]">$thread[author]</a><!--{if !empty($verify[$thread['authorid']])}--> $verify[$thread[authorid]]<!--{/if}-->. g8 X& Q; k" J! w6 t- Q0 H
  47. <!--{else}-->
    7 j* y) ]6 l3 C1 P
  48. $_G[setting][anonymoustext], y/ H, H% F6 W; s5 U3 u# l' p
  49. <!--{/if}-->6 b+ L2 r( h/ ?! E) q$ R2 v0 u( T4 ^
  50. </div>
    : V! `+ W8 ]3 o+ ?! q3 B5 Y1 ?
  51. </li>
    , M' M5 ~5 T9 }/ [
  52. <!--{/loop}-->
    ( u6 S8 [/ J" f4 Q. B& ?- @2 i
  53. </ul>
      K% Y( [8 }- P' c
  54. <div id="tmppic" style="display: none;"></div>
    7 \9 Z- z5 y" D4 U& M7 }3 j5 O
  55. <script type="text/javascript" src="$_G['style']['styleimgdir']/redef.js?{VERHASH}"></script>
    ' A1 d# w7 e5 O1 \
  56. <script type="text/javascript" reload="1">
    - f! q3 ^! t' g. K  e4 j# I9 ~
  57. var wf = {};9 I: A7 {0 W% i6 ^. d
  58. " H+ X- _2 R3 ]8 Z# z9 x3 A
  59. _attachEvent(window, "load", function () {
    - i# ~' B& H* H$ J2 D; P
  60. if($("waterfall")) {; Y% u- R9 |7 @6 f/ _7 D
  61. wf = waterfall();
    ' b6 v/ J; r  p" f" H: [; m
  62. }
    3 r) P+ X- j1 o1 C
  63. " z/ e( c! D6 n, A% b
  64. <!--{if $page < $_G['page_next'] && !$subforumonly}-->& A* C6 F5 W" w) h, k8 `! P: u) k
  65. var page = $page + 1,
    . i! c2 P- x/ Z  N
  66. maxpage = $page + 10,
    . X1 L% E' p5 H  R
  67. stopload = 0,
    , R4 b* E5 n0 m. _
  68. scrolltimer = null,! y) R6 F' }7 ^$ ^) u$ c
  69. tmpelems = [],4 J( D3 f1 _1 B3 v6 G7 o
  70. tmpimgs = [],7 t* k9 f& \" R' M2 x% ?. K9 k
  71. markloaded = [],
    + _, B$ r6 i, W7 o* T! k6 y9 U
  72. imgsloaded = 0,
    % q8 [1 ?& y4 I6 X9 b
  73. loadready = 0,, t$ S+ H: p" I2 W  R/ V
  74. showready = 1,* b+ ], d1 i8 v. ]
  75. nxtpgurl = 'forum.php?mod=forumdisplay&fid={$_G[fid]}&filter={$filter}&orderby={$_GET[orderby]}{$forumdisplayadd}&page=',4 T- t$ l0 x* T, V3 ]
  76. wfloading = "<img src=\"{IMGDIR}/loading.gif\" alt=\"\" width=\"16\" height=\"16\" class=\"vm\" /> 加载中...",
    : E4 {0 w& `6 W% f
  77. pgbtn = $("pgbtn").getElementsByTagName("a")[0];
    / d& a: C' X" R  [: U& A$ y+ y
  78. & ~! U" e* Z2 X0 k5 a
  79. function loadmore() {
    - U! n( v- q7 u3 G  g' P
  80. var url = nxtpgurl + page + '&t=' + parseInt((+new Date()/1000)/(Math.random()*1000));* ~, b' s1 Y- {
  81. var x = new Ajax("HTML");
    % Y, w7 e5 G: N' p
  82. x.get(url, function (s) {
    3 \/ `% E5 y# V4 a. \- x
  83. s = s.replace(/\n|\r/g, "");
    ) X; V3 y- Z* E0 Y9 k
  84. if(s.indexOf("id=\"pgbtn\"") == -1) {* T7 _+ K* c. e
  85. $("pgbtn").style.display = "none";: k* }2 n; h6 A7 T2 @: v# _/ ~  C! B. Z
  86. stopload++;
    7 U, x) w$ A- Z' S* x
  87. window.onscroll = null;1 f+ h7 x9 b8 i! Z$ P+ K4 ]6 K
  88. }3 J( \/ _# p9 g# c$ B0 t2 Y3 J# v1 Y

  89. + E9 w; A7 C! `2 E& R0 u! g$ r" s
  90. s = s.substring(s.indexOf("<ul id=\"waterfall\""), s.indexOf("<div id=\"tmppic\""));9 [0 F$ j, f' J: X1 B! R
  91. s = s.replace("id=\"waterfall\"", "");
    5 Y+ p% v4 W3 C7 u6 w
  92. $("tmppic").innerHTML = s;8 l* S* B, {, K, @" v: C
  93. loadready = 1;' y+ H; q  E' ~. J0 ^& J" e
  94. });
    ! t! m# Y  w3 f
  95. }
    $ X8 h/ g0 K9 M) B" p) d
  96. 9 r( ?! _. @; g. ^: y/ j7 l
  97. window.onscroll = function () {+ R/ ^$ S, C( h9 q
  98. if(scrolltimer == null) {
    / U& d4 p/ k7 T, j
  99. scrolltimer = setTimeout(function () {# Z2 F! A: u! }: t, Y4 E$ o5 H! g
  100. try {4 W* h, t% M# K3 @
  101. if(page < maxpage && stopload < 2 && showready && ((document.documentElement.scrollTop || document.body.scrollTop) + document.documentElement.clientHeight + 500) >= document.documentElement.scrollHeight) {
    7 x1 Z. N; k' S( `1 p  Z
  102. pgbtn.innerHTML = wfloading;
    ( O4 h0 z4 r$ }
  103. loadready = 0;
    , n3 |& Z. M% g$ v! b. J
  104. showready = 0;) e9 W- F% c( a
  105. loadmore();: C3 k4 p5 o* x8 r" C+ u
  106. tmpelems = $("tmppic").getElementsByTagName("li");
    6 Z) R; m) n1 C6 D
  107. var waitingtimer = setInterval(function () {: X% C4 A' \& l# |0 p/ o
  108. stopload >= 2 && clearInterval(waitingtimer);
    3 p  r) j, K  Z; T) B
  109. if(loadready && stopload < 2) {
    1 _, g; Y1 @9 W
  110. if(!tmpelems.length) {
    2 Q1 K' [) E. y& W9 J! Z- i: M! E
  111. page++;
    $ C! t7 l8 D" E2 y/ e
  112. pgbtn.href = nxtpgurl + page;
    ! L. {. u7 Y+ q! Q2 n
  113. pgbtn.innerHTML = "{echo '下一页 &raquo;'}";
    ) G# v% c  _- v7 X$ k( t, y
  114. showready = 1;( F+ e7 a# j) v! }1 @+ k3 f' K2 }- n* h
  115. clearInterval(waitingtimer);
    & Y, L, N3 X3 n4 o! u# Y/ \3 }
  116. }% K0 K5 K0 M9 f0 H) R& n; ?. `' y4 g
  117. for(var i = 0, j = tmpelems.length; i < j; i++) {
    9 U' P; d, g9 b
  118. if(tmpelems[i]) {" b* I. ~- r1 W( B
  119. tmpimgs = tmpelems[i].getElementsByTagName("img");) v, f0 k4 B5 P- f# `. m7 P6 ?; C
  120. imgsloaded = 0;4 ~6 f6 E# K" C0 o
  121. for(var m = 0, n = tmpimgs.length; m < n; m++) {  {8 N1 D$ h5 R  }, H4 J
  122. tmpimgs[m].onerror = function () {
    7 l0 v6 C, o4 L
  123. this.style.display = "none";
    , W- W* n1 I$ W! F  ?$ B* t
  124. };4 M. Y- Q2 H. v8 O
  125. markloaded[m] = tmpimgs[m].complete ? 1 : 0;  P. L; a2 c9 n8 I9 g$ S  T9 s
  126. imgsloaded += markloaded[m];
    " Y- x' n. b4 ]
  127. }
    : v, h: D" N$ |6 Q0 ?
  128. if(imgsloaded == tmpimgs.length) {1 P, k1 C7 j1 `% T  Z1 W8 f
  129. $("waterfall").appendChild(tmpelems[i]);% l3 X! b, ~$ y% t  I: p- f+ k: T3 K
  130. wf = waterfall({7 x* q% a$ H' i& x
  131. "index": wf.index,
    ; p. B/ X/ p4 P5 [: m
  132. "totalwidth": wf.totalwidth,
    . e; d% l" a7 k. }
  133. "totalheight": wf.totalheight,
    % m; `4 a% Y; n- H
  134. "columnsheight": wf.columnsheight2 R! u/ r) a& O
  135. });
    3 k8 }3 d0 z$ d* n/ v
  136. }
    : A' ^; _9 e. K  O$ g
  137. }- q  L7 D* d6 h* x: b% e$ z
  138. }
    " x9 S" r, |, P
  139. }" ]6 P. I% {+ ~9 D+ c  {
  140. }, 40);# ?$ y1 C& ]6 Q. B6 D
  141. }) |% _% Q4 B0 M0 H
  142. } catch(e) {}1 m" G+ r5 u  \' i, c. |/ F
  143. scrolltimer = null;( a6 p8 J% B: T, o( S" ~
  144. }, 320);
    8 u& A/ p* @$ V4 I8 ?5 S
  145. }- E  a9 \+ I& K& M6 O5 c7 Z
  146. };$ K  t5 T1 n  W& D$ v) Y$ b
  147. <!--{/if}-->* r  e* `9 ~& z# h- M5 f9 q
  148. $ Y9 Z: @" w4 \* E# I1 K8 }- W
  149. });
    " a& B6 a2 s* Q

  150. 7 B7 i7 M8 y- b  M* X9 U7 p
  151. </script>4 N6 x' J' M3 @5 t1 r* L
  152. <!--{/if}-->
    7 A2 A; v* o/ m% i. k1 @
  153. <!--{else}-->
    5 k. ]! x& {' `
  154. <tbody class="bw0_all"><tr><th colspan="{if !$_GET['archiveid'] && $_G['forum']['ismoderator']}4{else}3{/if}"><p class="emp">{lang forum_nothreads}</p></th></tr></tbody>% U. N: E! z# u- P3 c& r2 G0 K
  155. </table><!-- end of table "forum_G[fid]" branch 3/3 -->. J7 F& H/ l  {4 \2 N/ G6 x# V/ k
  156. & v# D/ J" f6 ?* ]0 F+ d1 A. f
  157. <!--{if $_G['setting']['threadmaxpages'] > 1 && $page && !$subforumonly && $page < $_G['setting']['threadmaxpages'] && $page < $_G['page_next']}-->
    1 t+ m8 u3 H4 b
  158. <!--{eval $nxtpage = $page + 1;}-->9 Z* d: I7 d( |' v6 q  O! R' F
  159. <div id="pgbtn" class="pgbtn"><a href="forum.php?mod=forumdisplay&fid={$_G[fid]}&filter={$filter}&orderby={$_GET[orderby]}{$forumdisplayadd}&{$multipage_archive}&page=$nxtpage" hidefocus="true">{echo '下一页 &raquo;'}</a></div>/ Y8 S' Y- q  B2 n- T
  160. <!--{/if}-->; g, R: c3 q2 @  q/ k

  161. " Y4 v+ ^2 F& E+ I" e; z5 E, k" a
  162. <!--{/if}-->0 X. l& u# @: G- i) X) \" K" L% ?- y; h
  163. <!--{if $_G['forum']['ismoderator'] && $_G['forum_threadcount']}-->
    ; \* v( V$ Q( O0 T
  164. <!--{template forum/topicadmin_modlayer}-->
    & t2 a0 R- x* A$ Q" N& k# |6 @
  165. <!--{/if}-->
    9 {( G5 B& M% s$ j7 a; o8 m; x* u
  166. </form>
    ) f( Z  S; U) B4 F% S" e
复制代码
4、后天帖子列表界面,图片宽度设为200,高度9999,相应版块开启图片版即可( f% R6 {$ B: M

0 h8 ~- C8 f8 @5、如果你需要向下加载的话,需要把分页代码一起复制进forumdisplay_list.htm去! q+ f2 y: h4 o; S! z4 m

5 F3 V- ]$ G1 A( x2 }0 }演示:http://www.coqq.net/forum-75-1.html




欢迎光临 时尚酷族 (http://www.coqq.net/) Powered by Discuz! X3.2