以前に何度も使用した jquery スライダーを使用しようとしていますが、今回は機能せず、理由がわかりません。
これが HTML コードです。基本的には、スライド用の別の div を持つメインのスライダー div であり、各スライド div にはスライドのクラスがあります (とりとめなく申し訳ありませんが、「詳細な説明」なしにこれを投稿することはできません)。
<div id="slider">
<div id="slides">
<div class="slide">
<img src="images/portfolio/web1.jpg" alt=""/>
</div>
<div class="slide">
<img src="images/portfolio/web5.jpg" alt=""/>
</div>
</div>
<img src="images/arrow-L.png" alt="Left" id="slider-arrow-left"/>
<img src="images/arrow-R.png" alt="Right" id="slider-arrow-right"/>
</div>
そして CSS は、高さと幅を設定するだけです:
#slider{height: 200px; position: relative; z-index: 1;}
#slider #slides {height: 200px; width: 883px; overflow: hidden; position: absolute; top: 0px; left: 0px;}
#slider #slides .slide{height: 200px; width: 883px;}
#slider img#slider-arrow-left {position: absolute; left: -30px; top: 80px; cursor: pointer; z-index: 999;}
#slider img#slider-arrow-right{position: absolute; right: 0px; top: 80px; cursor: pointer; z-index: 999;}
そしてJquery:
$(document).ready(function(){
$('#slides').cycle({
fx: 'scrollHorz',
speed: 'slow',
timeout: 10000,
pause: 1,
prev: $('#slider-arrow-left'),
next: $('#slider-arrow-right'),
cssBefore:{
top: 0,
opacity: 1,
display: 'block'
},
animOut: {
top: 360
},
before: function(curr, next, opts){
var $curr = $(curr);
var $next = $(next);
},
pause: 1,
pager: '#slider-controls',
pagerAnchorBuilder: function (idx, slide) {
return '#slider-controls li:eq(' + idx + ') a';
}
});
});