discuz的数据调用是通过js的document.write来输出数据,一开始想做跑马灯效果,采用slide\slides\Slides\examples\Standard 的这个例子去修改,做成静态html传上服务器是可以的,但是当5个图片超链接<a href=#><img src="#" /></a>改用用discuz数据调用来输出就出现问题了,整个页面只出现5张图片的排列,其他内容全部看不见。纠结了几天,后来一位师兄说看了源码,发现slide的处理是所有标签都当做图片链接来处理,包括数据调用的<script></script>代码。最后,用了精髓的在调用slides函数前加了一句$("#moon_test a").appendTo($(".slides_container")); ,再在html结构后面加了
<div id="moon_test">
<script type="text/javascript" src="http://xx.xx.xx.xx/demo/bbs/api/javascript.php?key=%E9%A6%96%E9%A1%B5%E7%9A%84%E6%B5%B7%E6%8A%A5%E6%BB%9A%E5%8A%A8_v2"></script>
</div>
最后整理一下,把全部做成数据调用,直接在论坛首页调用就行
<!-- lang: js -->
$(function(){
$("#moon_test a").appendTo($(".slides_container"));
$('#slides').slides({
preload: true,
preloadImage: 'include/haibao/img/loading.gif',
play: 5000,
pause: 2500,
hoverPause: true
});
});
<!-- lang: html -->
<div class="main_haibao">
<div id="container">
<div id="example">
<div id="slides">
<div class="slides_container">
</div>
</div>
</div>
</div>
</div>
<!-- lang: html -->
<div id="moon_test">
[node]
{image}
[/node]
</div>
来源:oschina
链接:https://my.oschina.net/u/614344/blog/95391