在作discuz的一个template 的时候需要做一个banner的效果,想到之前下过一个nivo-slider。嵌套到模块里面一切正常。但是使用diy的时候就无法正常加载js。刚开始怀疑是和一些基础的方法冲突了。后来发现这个控件用到了jq1.9.0。

google了下发现jq定义的$()和common.js一样,就无法使用。截取了一个方法

 1、打开discuz中共用的header.hrm文件,在<script type="text/javascript" src="{$jspath}common.js?{VERHASH}"></script>下面加载jQuery<script type="text/javascript" src="{$jspath}jquery.js?{VERHASH}"></script>。
2、这里两种情况,一种是直接在文档中写js代码
<script language="javascript" type="text/javascript"> 
<!--  
var jq = jQuery.noConflict();
jq(document).ready(function(){  
    jq("select").sSelect();  
})  
--> 
</script> 
这里我自定义的函数名就是jq,还有一种情况是外链一个js文件,情况是一样的,只要在这个js文件开头加上var jq = jQuery.noConflict();,然后下面用到$的地方都替换为自定义函数名jq就可以了。

我会告诉你最后我妥协了使用了common中的runslideshow();作了一个大幻灯么。

runslideshow();

<div class="slidebox"><!--幻灯片开始-->

<div class="slideshow"> </div><!--图片展示-->

<div class="slidebar"> </div><!--幻灯片控制展示-->

</div><!--幻灯片结束-->

##很简单的幻灯



[loop]

[/loop]



[loop1]{currentorder}[/loop1]

<script type="text/javascript">
    runslideshow();
</script>

幻灯的速度

在<div class="slidebox" >增加参数  如下代码  其中 timestep="3000"  为毫秒 

多个图片

<div class="slidebox"  slidenum="3" slidestep="1">
其中  slidenum="3"  表示显示数量  , slidestep="1" 表示每点击一次左右按扭 移动的次数