基本的なカルーセルタイプのslidshowを作成しましたが、それを機能させるには、次の関数を2回呼び出して、margin-leftプロパティを実際に0pxに設定する必要がありました。
$("#slide ul").stop().css('marginLeft', '0px');
私はjqueryを初めて使用するので、何が間違っているのか疑問に思いました。
全体はここで見つけることができますhttp://jsfiddle.net/xZBZK/
便宜上JavaScriptだけ:
var offset = 0;
var count;
var width = 500;
var height = 333;
var interval;
$(document).ready(function() {
count = $("#slide ul").children().length;
// Add the first image to the end so it loops.
$("#slide ul").children().first().clone().appendTo("#slide ul");
start();
});
function nextImage() {
$("#slide ul").stop();
offset+=width;
if(offset / width == count) {
$("#slide ul").animate({'marginLeft':'-'+offset+'px'}, 700, 'linear', resetImage);
}
$("#slide ul").animate({'marginLeft':'-'+offset+'px'}, 700);
return offset;
}
function resetImage() {
$("#slide ul").stop().css('marginLeft', '0px');
$("#slide ul").stop().css('marginLeft', '0px');
offset = 0;
//start();
}
function stop() {
clearInterval(interval);
}
function start() {
interval = setInterval(nextImage, 3000);
}
JQuery1.9.1を使用しています