このフォームに問題があります。これが私のjsFiddleファイルです。
ここに私のJSがあります
(function($) {
$.fn.formToWizard = function(options) {
options = $.extend({
submitButton: ""
}, options);
var element = this;
var steps = $(element).find("fieldset");
var count = steps.size();
var submmitButtonName = "#" + options.submitButton;
$(submmitButtonName).hide();
// 2
steps.each(function(i) {
$(this).wrap("<div id='step" + i + "'></div>");
$(this).append("<p id='step" + i + "commands'></p>");
if (i == 0) {
createNextButton(i);
selectStep(i);
}
else if (i == count - 1) {
$("#step" + i).hide();
createPrevButton(i);
}
else {
$("#step" + i).hide();
createPrevButton(i);
createNextButton(i);
}
});
function createPrevButton(i) {
var stepName = "step" + i;
$("#" + stepName + "commands").append("<a href='#' id='" + stepName + "Prev'>Back</a>");
$("#" + stepName + "Prev").bind("click", function(e) {
$("#" + stepName).hide();
$("#step" + (i - 1)).show(function() {
$('.slide').animate({
left: "0"
}, 500);
});
$(submmitButtonName).hide();
selectStep(i - 1);
});
}
function createNextButton(i) {
var stepName = "step" + i;
$("#" + stepName + "commands").append("<a href='#' id='" + stepName + "Next' class='next'>Next</a>");
$("#" + stepName + "Next").bind("click", function(e) {
$("#" + stepName).hide();
$("#step" + (i + 1)).show(function() {
$('.slide').animate({
left: "0"
}, 500);
});
if (i + 2 == count) $(submmitButtonName).show();
selectStep(i + 1);
});
}
function selectStep(i) {
$("#steps li").removeClass("current");
$("#stepDesc" + i).addClass("current");
}
}
})(jQuery);
$("#SignupForm").formToWizard({ submitButton: 'SaveAccount' })
私がやりたいことは、次をクリックすると左から右にスライドインし、「戻る」をクリックすると左にスライドすることです(右から左)。
アニメーションを行っている場所
$("#step" + (i + 1)).show(function() { $('.slide').animate({ 左: "0" }, 500); });
ジャンルを選択してからクリックして戻ると、8 トラックに似たものになります。
大変助かりました!