时尚酷族

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

作者: CooL.泪猪    时间: 2012-7-29 23:35
标题: DZX2.0版图片版瀑布流分享
近日看到网上流行的瀑布流,也参照改了下,但是网上的forumdisplay_list.htm都是全部替换form表单里的所有项,直接影响到的是非图片版帖子列表界面,其实没必要把form表单里的所有项都替换,仅替换“else if 图片部分+分页”部分即可。- D# f; a- A# o  g' h: L
为了完整方法跟其他帖写的都一样,为方便新手,操作如下:# m& g3 Q+ @# J) p9 v

4 r3 d  B4 j& r" H7 i* y1 @' x1、将qing模板目录下\image\redef.js移动至正在使用模板的图片存放目录,同时将qing模板中的bg_waterfall.png、bg_pgbtn.png移动至当前模板图片目录。3 r2 m2 I. I" D. s0 I  l  t* m6 m
2、模板目录下增加common\extend_common.css,其内容如下:
  1. 8 O- ^/ o( U# ~/ R6 t
  2. /* 大分页按钮 by Pony 1203121325 */
    ; I7 s* z6 m# S) R$ b
  3. .pgbtn { margin: 5px 0 10px; }
    ' q3 `' q! C- J
  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; }$ i+ ?; R1 {8 y: H* D
  5. .pgbtn a:hover { border-color: #BABABA; text-decoration: none; }
    2 s4 ~" ]: [7 Q: t# W
  6. .pgbtn a:active { background: #EEE; border-color: #D0D0D0; box-shadow: none; }
    ! }: i" O- ]  `5 Q
  7. " h  X& ?& s+ t1 w2 T
  8. /* 瀑布流布局 by Pony 1204121803 */
    ' D7 M' A0 |: j5 m5 m
  9. .waterfall { position: relative; margin-top: 15px; }/ `1 H4 j/ _, F+ A5 v/ e* r  t
  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%; }6 L+ P  ^  m; D2 j2 b% a- u( T& |3 [
  11. .waterfall .c, .waterfall h3 { padding: 10px; border: solid #EAEAEA; border-width: 0 1px; background-color: #F8F8F8; }7 H! z# r2 Q' H
  12. .waterfall .c { overflow: hidden; padding-bottom: 0; max-height: 800px; }7 [& E6 h  i* @
  13. .waterfall .c .nopic { display: block; background:{WRAPBG} url({IMGDIR}/nophototiny.png) no-repeat 50% 50%; cursor: pointer; }! T/ c' a$ E8 ~' F: H2 c5 n
  14. .waterfall .auth { padding: 0 10px 10px; border-width: 0 1px 1px; border-style: solid; border-color: transparent #EAEAEA #B9B9B9; background: #F8F8F8; }
    " [" [6 |- G+ p) H' G
  15. .waterfall .auth img { display: inline-block; margin: 0 1px; }
    & |& X0 w2 \& S1 }! j5 s' E
复制代码
3、拷贝qing\forum\forumdisplay_list.htm文件里的“else if 图片部分+分页”替换default里的forumdisplay_list.htm的相应图片部分(即从<!-- end of table "forum_G[fid]" branch 2/3 --> 开始到</form>结束)。

  1. ' u; X  z9 o5 s: _
  2. <!--{else}-->( _- x- W4 R7 U1 h$ Q1 O
  3. </table><!-- end of table "forum_G[fid]" branch 2/3 -->' _$ W, C3 U1 t/ }# O
  4. <ul id="waterfall" class="ml waterfall cl">4 w/ T8 W7 C& H# a! ~1 L
  5. <!--{loop $_G['forum_threadlist'] $key $thread}-->
    ) v, \$ }6 Y- e) Q, H
  6. <!--{if !$thread['forumstick'] && ($thread['isgroup'] == 1 || $thread['fid'] != $_G['fid'])}-->3 b# F: W7 }  v/ ?
  7. <!--{if $thread['related_group'] == 0 && $thread['closed'] > 1}-->3 f  S" F, Z6 `* S- L2 ^2 A
  8. <!--{eval $thread[tid]=$thread[closed];}-->
    . u% N* a1 ]* o+ q. T
  9. <!--{/if}-->
    & d' w. h) Q3 C
  10. <!--{/if}-->5 n; X% {0 h9 v6 g$ n+ B9 {# H
  11. <!--{eval $waterfallwidth = $_G[setting][forumpicstyle][thumbwidth] + 24; }-->
    . }8 C/ V/ h3 a6 k3 y  ?
  12. <li style="width:{$waterfallwidth}px;">
    ' D& H$ N" ?' P8 B" l
  13. <!--{if !$_GET['archiveid'] && $_G['forum']['ismoderator']}-->
    ; C  q/ t% c/ i6 d! `3 @
  14. <div style="position:absolute;margin:1px;padding:2px;background:#FFF">
    0 z" G' K  [3 N
  15. <!--{if $thread['fid'] == $_G[fid]}-->4 Q, q* p) C) |; ]+ _0 n
  16. <!--{if $thread['displayorder'] <= 3 || $_G['adminid'] == 1}-->
    9 g4 y. f% ^: h) Z) }
  17. <input onclick="tmodclick(this)" type="checkbox" name="moderate[]" value="$thread[tid]" />8 j0 A; {: G8 t
  18. <!--{else}-->, P8 W$ }8 b! }5 B# D
  19. <input type="checkbox" disabled="disabled" />+ o( X  [9 ^6 g+ a; |
  20. <!--{/if}-->! s- y; g3 e0 N" n2 K! e1 w, X
  21. <!--{else}-->
    7 F. W* P" t7 t% l  d7 m8 w. ^
  22. <input type="checkbox" disabled="disabled" />( ]* s8 ^* ?4 \2 {3 {$ s. K0 C' }/ g
  23. <!--{/if}-->" V' u0 t& X4 r
  24. </div>
    5 \6 b/ \6 f4 |6 X3 S
  25. <!--{/if}-->* H5 C0 O# S7 _! Z0 W: c
  26. <div class="c cl">
    2 s6 b0 T; M" L) U! |
  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">0 o- W2 _8 {6 S2 R( |
  28. <!--{if $thread['cover']}-->' G  i* Q* ~5 c2 ^) C. d2 }
  29. <img src="$thread[coverpath]" alt="$thread[subject]" width="{$_G[setting][forumpicstyle][thumbwidth]}" />! ]# L+ @+ Y. k& O# z
  30. <!--{else}-->. [1 q* R  q* H, G
  31. <span class="nopic" style="width:{$_G[setting][forumpicstyle][thumbwidth]}px; height:{$_G[setting][forumpicstyle][thumbwidth]}px;"></span>
    ' t* `! w  x( }
  32. <!--{/if}-->9 ?3 a$ |* B/ _/ M* M# \# b
  33. </a>. b2 t* v) ]% z; b. [0 }8 A4 [' s
  34. </div>
    # W9 B6 I4 U2 ~1 x2 w2 d" x
  35. <h3 class="xw0">
    - C2 z+ [7 f2 ~1 b, a! Y
  36. <!--{hook/forumdisplay_thread $key}-->9 i( I0 Y- ^$ R
  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 ^8 f; ~' O: ?" @) s" ?5 j
  38. </h3>
    & _7 D/ i* G5 j9 H2 _5 P
  39. <div class="auth cl">
    % @2 x( ]! [/ x8 j
  40. <cite class="xg1 y">
    0 i7 j( N2 A3 Q
  41. {echo '喜欢'}: <!--{if $thread[recommends]}-->$thread[recommends]<!--{else}-->0<!--{/if}-->
    ( L6 X! ]5 G/ n( l  w
  42. {lang reply}: <a href="forum.php?mod=viewthread&tid=$thread[tid]&extra=$extra" title="$thread[replies] {lang reply}">$thread[replies]</a>
    8 l1 h' {  E9 Y
  43. </cite>1 w' B& \9 _4 g
  44. <!--{hook/forumdisplay_author $key}-->0 ^4 E7 [. M. S! z, R- Z
  45. <!--{if $thread['authorid'] && $thread['author']}-->% }; r, j2 B1 M: M
  46. <a href="home.php?mod=space&uid=$thread[authorid]">$thread[author]</a><!--{if !empty($verify[$thread['authorid']])}--> $verify[$thread[authorid]]<!--{/if}-->$ W( T. Q  |, e* s7 {6 U$ J4 w) z. o
  47. <!--{else}-->
    . |. {* q/ u7 ~
  48. $_G[setting][anonymoustext]0 A) X' m$ k/ e
  49. <!--{/if}-->6 L  ^' X' E7 o; [3 Z
  50. </div>8 g) ?# S6 N/ T
  51. </li>* E4 N2 u: B4 v$ r8 c
  52. <!--{/loop}-->
    9 C. P( b' P+ h
  53. </ul>
    + e$ A" u4 V1 Y9 g; N$ c- ~: Z
  54. <div id="tmppic" style="display: none;"></div>8 p  T, w) O0 J1 A+ K' {
  55. <script type="text/javascript" src="$_G['style']['styleimgdir']/redef.js?{VERHASH}"></script>
    0 I  n7 ^* w2 G0 i' V& _
  56. <script type="text/javascript" reload="1">1 R4 t3 O. _$ R2 Q5 Z
  57. var wf = {};. l( ]* K% E9 \7 i6 S

  58. , w8 r. e2 L0 Q! T
  59. _attachEvent(window, "load", function () {
    + M" p. P) F2 Q/ l) A& y% p
  60. if($("waterfall")) {% G8 T8 X$ K" C5 g, \9 R. f% _0 x
  61. wf = waterfall();
    : U4 b* k. I/ u+ ~+ v/ `
  62. }
    % B2 f3 F; S! q
  63. 6 z  h; ~3 Z) ~- }. u) p
  64. <!--{if $page < $_G['page_next'] && !$subforumonly}-->  I6 G# [& C3 e8 j# R: e4 F3 I
  65. var page = $page + 1,
    : s  Y1 O& J0 b8 I- u1 y, q7 G
  66. maxpage = $page + 10,
    / ?( S8 \. t% X7 u, N& E  J! J
  67. stopload = 0,7 ^2 s9 N1 T1 l& j* C" c
  68. scrolltimer = null,
    6 W% ?  [" E" k4 r, [3 v
  69. tmpelems = [],
    9 y6 ]3 J  J" n0 q$ ^
  70. tmpimgs = [],
    + l& Q; T1 g$ |6 r
  71. markloaded = [],5 |2 f. o+ o1 A% t3 o
  72. imgsloaded = 0,
    8 Y( p. l; }. p
  73. loadready = 0,
    1 c: n, u; B* N8 a- u$ E% u9 @
  74. showready = 1,
      _6 [* h. N/ M( `) n
  75. nxtpgurl = 'forum.php?mod=forumdisplay&fid={$_G[fid]}&filter={$filter}&orderby={$_GET[orderby]}{$forumdisplayadd}&page=',
    ! C/ \# O% [: G& |: d( \
  76. wfloading = "<img src=\"{IMGDIR}/loading.gif\" alt=\"\" width=\"16\" height=\"16\" class=\"vm\" /> 加载中...",
    % k5 z7 l' M7 _2 i( m! ?
  77. pgbtn = $("pgbtn").getElementsByTagName("a")[0];
    5 m8 Q' c" D0 z. d
  78. ! U6 N8 Y$ ~) J) {/ L& H' ?
  79. function loadmore() {
    % S& W, D# D4 u  \0 d- I
  80. var url = nxtpgurl + page + '&t=' + parseInt((+new Date()/1000)/(Math.random()*1000));( A. }) h7 u+ M1 z: [$ J" K$ w
  81. var x = new Ajax("HTML");  ^$ N, _( M) p
  82. x.get(url, function (s) {0 \3 e) f& u6 c8 n
  83. s = s.replace(/\n|\r/g, "");/ j  l) I4 k" b. l
  84. if(s.indexOf("id=\"pgbtn\"") == -1) {+ I8 S2 B  ?; {7 K0 \
  85. $("pgbtn").style.display = "none";
    6 s5 ^5 R- P  w
  86. stopload++;
    " M# Y5 k6 t  W6 a4 e* P
  87. window.onscroll = null;
    / S' l# j3 [7 D( u3 ^7 E: M
  88. }$ B; u0 g7 w0 s; n' R
  89. ; J% }8 S4 [  Z. _1 h- \
  90. s = s.substring(s.indexOf("<ul id=\"waterfall\""), s.indexOf("<div id=\"tmppic\""));
    ( i# r) l$ V' @) r0 U  L. b
  91. s = s.replace("id=\"waterfall\"", "");
    7 o/ I, \* N* [: S$ H5 ]
  92. $("tmppic").innerHTML = s;9 {) a% U. n8 D9 P
  93. loadready = 1;
    9 C- \: [. d4 t( _) E4 M) j
  94. });
    / J+ s* O0 q6 B) N6 u3 b
  95. }: u& R) q  r4 [; ?. k, g" D# Q

  96. * ?! T) ~1 g  ]) L/ \4 v
  97. window.onscroll = function () {) B) }8 o3 v$ r* G  F# b
  98. if(scrolltimer == null) {
    " @5 Z- ~) G7 f5 |. c' L# y
  99. scrolltimer = setTimeout(function () {" q- }/ b( X$ V& ]& d$ j3 k" C- y
  100. try {
    5 }* p4 i5 n$ E! A& R, X) \
  101. if(page < maxpage && stopload < 2 && showready && ((document.documentElement.scrollTop || document.body.scrollTop) + document.documentElement.clientHeight + 500) >= document.documentElement.scrollHeight) {) F# Y3 i4 n/ v7 c. z
  102. pgbtn.innerHTML = wfloading;& b& z. \, ~# r, A9 |
  103. loadready = 0;
    : f, R% G' B! s4 Y  K
  104. showready = 0;
    0 A2 h: k+ D3 n6 Z
  105. loadmore();: q  @9 G" G4 b2 A8 F7 M
  106. tmpelems = $("tmppic").getElementsByTagName("li");
    + X5 l7 E* H; X, R8 e& M- H
  107. var waitingtimer = setInterval(function () {
    + S( o# W( j$ o
  108. stopload >= 2 && clearInterval(waitingtimer);$ M; t$ i0 m5 z9 F* q) ?
  109. if(loadready && stopload < 2) {
    , v  L5 W2 g1 I; D! q
  110. if(!tmpelems.length) {
    / r* H: u9 N/ \8 Q
  111. page++;' ]" D* M0 d1 q
  112. pgbtn.href = nxtpgurl + page;
    # d% z) F9 {. c
  113. pgbtn.innerHTML = "{echo '下一页 &raquo;'}";
    ; @# X7 y4 d8 O$ K- j) v0 A. l* [' g
  114. showready = 1;2 H: _6 z) J* B6 W
  115. clearInterval(waitingtimer);
    . W, H3 _* |( Z4 h
  116. }- v3 h# J* X2 t" J7 q; j8 u
  117. for(var i = 0, j = tmpelems.length; i < j; i++) {. A  r/ P1 m) v
  118. if(tmpelems[i]) {
    , L7 b& o" K; L/ ^
  119. tmpimgs = tmpelems[i].getElementsByTagName("img");$ c0 y9 U4 K; {/ b
  120. imgsloaded = 0;
    . j4 L" S0 J3 k
  121. for(var m = 0, n = tmpimgs.length; m < n; m++) {) W- v( Q! m3 k
  122. tmpimgs[m].onerror = function () {% t) P. n, I; {' h; _
  123. this.style.display = "none";! G+ }$ [, d0 p' _5 S6 e6 l
  124. };
    * R' H2 z- x' k' J8 X1 i
  125. markloaded[m] = tmpimgs[m].complete ? 1 : 0;
    0 r, ?3 Q+ z" G6 x4 u
  126. imgsloaded += markloaded[m];
    4 e2 x7 A" Z" q+ s9 l
  127. }9 W' T- Y, [2 J8 O: O: E
  128. if(imgsloaded == tmpimgs.length) {
    , ~2 J+ J+ r: t$ \- [8 ?
  129. $("waterfall").appendChild(tmpelems[i]);
    ) ~$ F$ V: H& Y
  130. wf = waterfall({7 k7 n1 i+ p" a, ^
  131. "index": wf.index,/ |- G. R6 {* l/ J4 g8 q* E
  132. "totalwidth": wf.totalwidth,
    ( g4 U1 j+ t" }6 W+ U4 r
  133. "totalheight": wf.totalheight,
    ; g7 }9 |8 a5 T- y6 ^! F
  134. "columnsheight": wf.columnsheight" Y# j. v  o7 o5 t( \
  135. });4 Z; ~& {7 T& g5 r* S
  136. }) I4 t; v4 H6 r3 q) f/ j
  137. }
    5 M' A! y! @2 W4 l  y7 @  e
  138. }) P- ?2 m- f) `6 @9 `$ ]
  139. }+ o2 m. G6 q$ E
  140. }, 40);" B7 q4 t. Q" a" ^: r2 r. h
  141. }
    + }7 _/ V) ^& |/ ]6 \
  142. } catch(e) {}
    ; m1 L3 h8 e1 S' j  w6 s
  143. scrolltimer = null;
    9 Q( e: c8 _0 P, j: R
  144. }, 320);
    1 c- }2 y$ j7 w! c$ {8 d
  145. }
    ( x  [6 U% Z* i9 `! t/ I8 M, ^9 U7 b
  146. };/ D' ^. o$ E3 c$ Y5 c- m  M
  147. <!--{/if}-->  x5 I1 l) R0 \& c, u, t
  148. 6 y6 |0 c7 S5 C5 t
  149. });( p# B8 N0 Q2 u8 R
  150. : t" r9 ~8 `5 A
  151. </script>( y- x8 Y4 I" ?( |) o- s
  152. <!--{/if}-->
    % j8 |- q" a. t/ m( z  Z8 n
  153. <!--{else}-->
    # J9 {1 [/ o. M
  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>& |$ H- o7 t( F2 C& f( p* [" H% x) {: b
  155. </table><!-- end of table "forum_G[fid]" branch 3/3 -->
    / x5 }' f4 p2 |- e& R" I

  156. + m" D1 u6 y; c9 b8 d
  157. <!--{if $_G['setting']['threadmaxpages'] > 1 && $page && !$subforumonly && $page < $_G['setting']['threadmaxpages'] && $page < $_G['page_next']}-->
    & K$ L: f; t1 K) l7 y
  158. <!--{eval $nxtpage = $page + 1;}-->
    # x& B* Z! d* U  Y" r5 g6 i
  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>7 ?  V( \% |+ @
  160. <!--{/if}-->
    : s; n2 }. Z$ F# S2 k$ p4 M

  161. " f- }* V0 J2 P3 x# m$ [& _
  162. <!--{/if}-->
    ) M3 {6 |; D9 @; M% _% {
  163. <!--{if $_G['forum']['ismoderator'] && $_G['forum_threadcount']}-->: k+ P2 s  ~- @7 d6 U
  164. <!--{template forum/topicadmin_modlayer}-->. x: x3 X1 S! f! B
  165. <!--{/if}-->  w/ b3 J+ D0 N/ L
  166. </form>1 b3 m6 x5 q; T8 T1 m* y
复制代码
4、后天帖子列表界面,图片宽度设为200,高度9999,相应版块开启图片版即可# v) N8 Z; A9 c4 [5 ^
0 @8 R- C8 w2 I4 ]% d% i
5、如果你需要向下加载的话,需要把分页代码一起复制进forumdisplay_list.htm去3 a5 z' T# F9 g: S4 {7 K! I

+ Z+ X+ y6 P. o0 X2 ?演示:http://www.coqq.net/forum-75-1.html




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