我使用以下jQuery脚本来隐藏和显示包含表单部分的div。
目前,该脚本通过删除和/或附加'display:none'来隐藏和显示我的div。我想通过添加/删除'left:-9999px来隐藏/显示它们;位置:绝对'。
有没有办法用这个脚本做到这一点?
$(document).ready(function () {
var tab_pool = ["tab_Chemical", "tab_Crop", "tab_Physical"];
var visible = $(".tab:visible").attr('class').split(" ")[1];
var curr_ind = $.inArray(visible, tab_pool);
$(".submit").hide();
$(".back").hide();
var validator = $('form').validate({
ignore: 'input[type="button"],input[type="submit"]',
rules: {
wat_hl: {
required: true
},
zero_height_ref: {
required : true
},
mas_tras_cof: {
required: true
}
}
});
$('.next').click(function () {
var tab = $(".tab:visible");
var valid = true;
$('input', tab).each(function(i, v){
valid = validator.element(v) && valid;
});
if(!valid){
return;
}
if (curr_ind < 2) {
$(".tab:visible").hide();
curr_ind = curr_ind + 1;
$("." + tab_pool[curr_ind]).show();
$(".submit").hide();
$(".back").show();
}
if (curr_ind == 2) {
$(".submit").show();
$(".next").hide();
}
});
$('.back').click(function () {
if (curr_ind > 0) {
$(".tab:visible").hide();
curr_ind = curr_ind - 1;
$("." + tab_pool[curr_ind]).show();
$(".submit").hide();
$(".next").show();
}
if (curr_ind == 0) {
$(".back").hide();
}
});
});
这是jsfiddle。
答案 0 :(得分:1)
用.hide()
.css({position:"absolute",left:"-9999px"})
(或您的显示:无)的所有实例
以及.show()
(或您的显示:阻止).css({position:"static",left:"auto"})
这应该有效,除非您的div绝对或相对已经定位。