我的网站滑块有问题,虽然滑块工作正常但很好,但我需要随机或随机播放而不是显示有序内容.. 我已经有了代码,需要进行一些修改。
这是主文件上的一行.php
<script type="text/javascript">
$(document).ready(function() {
$('#slider1').s3Slider({
timeOut: 8000
});
});
<div id="slider1">
<ul id="slider1Content">
<li class="slider1Image">
<a href="goo.com"><img src="products/1.png" alt="1" /></a>
<span class="left">
caption1
</span>
</li>
<li class="slider1Image">
<a href=""><img src="products/2.png" alt="2" /></a>
<span class="right">caption2
</span>
</li>
<li class="slider1Image">
<a href=""><img src="products/3.png" alt="3" /></a>
<span class="right">caption3.
</span>
</li></div>
这是java脚本文件
(function($){
$.fn.s3Slider = function(vars) {
var element = this;
var timeOut = (vars.timeOut != undefined) ? vars.timeOut : 4000;
var current = null;
var timeOutFn = null;
var faderStat = true;
var mOver = false;
var items = $("#" + element[0].id + "Content ." + element[0].id + "Image");
var itemsSpan = $("#" + element[0].id + "Content ." + element[0].id + "Image span");
items.each(function(i) {
$(items[i]).mouseover(function() {
mOver = true;
});
$(items[i]).mouseout(function() {
mOver = false;
fadeElement(true);
});
});
var fadeElement = function(isMouseOut) {
var thisTimeOut = (isMouseOut) ? (timeOut/2) : timeOut;
thisTimeOut = (faderStat) ? 10 : thisTimeOut;
if(items.length > 0) {
timeOutFn = setTimeout(makeSlider, thisTimeOut);
} else {
console.log("Poof..");
}
}
var makeSlider = function() {
current = (current != null) ? current : items[(items.length-1)];
var currNo = jQuery.inArray(current, items) + 1
currNo = (currNo == items.length) ? 0 : (currNo - 1);
var newMargin = $(element).width() * currNo;
if(faderStat == true)
{
if(!mOver) {
$(items[currNo]).fadeIn((timeOut/6), function() {
if($(itemsSpan[currNo]).css('bottom') == 0) {
$(itemsSpan[currNo]).slideUp((timeOut/6), function() {
faderStat = false;
current = items[currNo];
if(!mOver) {
fadeElement(false);
}
});
} else {
$(itemsSpan[currNo]).slideDown((timeOut/6), function() {
faderStat = false;
current = items[currNo];
if(!mOver) {
fadeElement(false);
}
});
}
});
}
} else {
if(!mOver) {
if($(itemsSpan[currNo]).css('bottom') == 0) {
$(itemsSpan[currNo]).slideDown((timeOut/6), function() {
$(items[currNo]).fadeOut((timeOut/6), function() {
faderStat = true;
current = items[(currNo+1)];
if(!mOver) {
fadeElement(false);
}
});
});
} else {
$(itemsSpan[currNo]).slideUp((timeOut/6), function() {
$(items[currNo]).fadeOut((timeOut/6), function() {
faderStat = true;
current = items[(currNo+1)];
if(!mOver) {
fadeElement(false);
}
});
});
}
}
}
}
makeSlider();
};})(jQuery);
我正在努力修改这个脚本近一个星期......请帮忙
答案 0 :(得分:0)
不确定你是否还在寻找解决方案...我刚刚完成了这个,但是认为通过从随机数组中调用它们来编写服务器端的li标签会更好。那就是你使用服务器端脚本 - 下面是我在php中做的。
$ arr = array(“ 一些文字“,” 一些文字“,” 一些文字“,);
$arrCnt = count($arr);
for ($i=0; $i<=$arrCnt; $i++) { $random = array_rand($arr); echo "<li class='sliderImage'>"; echo $arr[$random]; echo "</li>\n"; if($i<$arrCnt-1) unset($arr[$random]); } ?>
希望有所帮助。