我正在寻找最好的解决方案,以创建一个3步骤注册过程中的1页。我目前使用的是jquery cycle,在1.3.2版本中使用的技术在告诉它滑动时不起作用,它似乎只在1.3.1中起作用,还有一个大小的问题,幻灯片3比幻灯片1长得多,它生成的高度太高,有死区。
有人知道一个简单的jquery解决方案吗?在这种情况下,UI选项卡可以工作吗?
这就是我目前正在使用的
我想找到一种更短的方法来做一些事情,也许不使用cycle。
$('#signup-content').cycle({fx: 'scrollHorz', timeout: 0, speed: 300, after: onComp, startingSlide:0});
$("#createAccount").validate({
meta: "validate",
errorElement: "em",
errorClass: "error",
validClass: "success",
highlight: function(element, errorClass, validClass) {
$(element).closest("div.required").removeClass(validClass);
$(element).closest("div.required").addClass(errorClass);
$(element).addClass(errorClass);
},
unhighlight: function(element, errorClass, validClass) {
$(element).closest("div.required").removeClass(errorClass);
$(element).closest("div.required").addClass(validClass);
$(element).removeClass(errorClass);
},
errorPlacement: function(error, element) {
if (element.attr("name") == "month"
|| element.attr("name") == "day"
|| element.attr("name") == "year" )
error.insertAfter("#year");
else
error.addClass("hide");
},
debug:true,
groups: {
birthday: "month day year"
},
rules: {
firstname:{required:true},
lastname:{required:true},
email: {required: true, email: true},
confirm_email: {required: true, equalTo: "#email"},
password:{required: true},
confirm_password:{required: true,equalTo: "#password"},
zipcode: {required:true, min:5},
month:{required:true},
day:{required:true},
year:{required:true},
gender:{required:true},
agree:{required:true}
},
messages: {
month: {
required: "Month Is Missing"
},
day: {
required: "Day Is Missing"
},
year: {
required: "Year Is Missing"
}
},
submitHandler: function(form) {
$(form).ajaxSubmit({
beforeSubmit: showRequest,
success: showResponse
});
}
})
function showRequest(formData, jqForm, options) {
// formData is an array; here we use $.param to convert it to a string to display it
// but the form plugin does this for you automatically when it submits the data
var queryString = $.param(formData);
// jqForm is a jQuery object encapsulating the form element. To access the
// DOM element for the form do this:
// var formElement = jqForm[0];
alert('About to submit: \n\n' + queryString);
// here we could return false to prevent the form from being submitted;
// returning anything other than false will allow the form submit to continue
return true;
}
function showResponse(formData) {
$('#signup-content').cycle(1);
$('html, body').animate({scrollTop: '0px'}, 300);
$('#message-container').addClass("notice").append('<h3>Your Account Has Been Created!</h3><a href="javascript:;" id="close"><img src="/assets/images/close.png" alt="Close" title="Close"/></a>');
$('#message-container').fadeIn(1200, function(){
$('#close').click(function(){
$('#message-container').fadeOut(1200);
});
});
return false;
}
$('#goback-step2').click(function(){
$('#signup-content').cycle(1);
$('html, body').animate({scrollTop: '0px'}, 300);
return false;
});
$('#goto-step3').click(function(){
$('#signup-content').cycle(2);
$('html, body').animate({scrollTop: '0px'}, 300);
return false;
});
function onComp(curr, next, opts){
var index = opts.currSlide;
if (index == 0){
$('#step1').removeClass('complete');
$('#step1').addClass('active').siblings('li').removeClass('active').addClass('inactive');
}
else if (index == 1){
$('#step1').addClass('complete');
$('#step2').removeClass('complete');
$('#step2').addClass('active');
$('#step3').removeClass('active').addClass('inactive');
}
else if (index == 2){
$('#step2').addClass('complete');
$('#step3').addClass('active').removeClass('inactive');
}
}发布于 2009-10-16 17:40:24
您可以将show()、/hide()或fadeIn()/fadeOut()与三个单独的DIV容器组合使用,用于不同的表单部分。
然后,您可以在每个部分中绑定一个按钮,以执行下一部分的淡出/淡入:
<div id="section1">
<!-- form here -->
<a href="#" id="step2">step2</a>
</div>
<div id="section2" style="display:none">
<!-- drag drop here -->
<a href="#" id="step2">step2</a>
</div>
<div id="section3" style="display:none">
<!-- search here -->
</div>jquery:
$(function() {
$('#step2').click(function() {
$('#section1').fadeOut(function() {
$('#section2').fadeIn();
});
return false;
});
$('#step3').click(function() {
$('#section2').fadeOut(function() {
$('#section3').fadeIn();
});
return false;
});
});发布于 2009-10-16 17:43:32
有一个很好的3部分向导演示here,它使用了jQuery验证。验证部分并不是使用该方法所必需的,但是一些客户端验证确实会很有帮助。this的底部还提供了一些其他方法。
https://stackoverflow.com/questions/1579370
复制相似问题