我正在使用tabs来分解包含许多输入字段的长格式。
我的表单有四个标签,并在标签表格下方预览用户选择。
在标签下方的预览中,我放置了一些图标,允许用户向上滚动到包含输入元素的选项卡上的输入元素。
当用户查看要向上滚动的正确选项卡时,此功能非常有用。例如,如果输入元素位于选项卡1上且用户正在查看选项卡1,则用户可以向上滚动回到选项卡1上的该元素。
但是,如果输入元素位于选项卡1上且用户正在查看选项卡2,则向上滚动不起作用。我假设这是因为元素在选项卡/表单上不可见(但元素确实存在)。
所以我创建了一个条件if / else语句来测试元素是否可以访问,但条件总是返回true。我无法弄清楚应该检查元素是否可以在选项卡上访问的条件。
我尝试了不同的条件,但都归结为真。
我希望有人有可行的建议。
这是我的代码:
function scrollUpSingleDocumentDetails(id){
//if(!($("#"+id).length)){
if($("#"+id).css('visibility') === 'hidden'){
$('html,body').animate({scrollTop: $("#"+id).offset().top-50},'slow');
} else {
$('html,body').animate({scrollTop: $("#id_details_headline").offset().top-50},'slow');
}
}
答案 0 :(得分:2)
按照get the current tab in jQuery UI tabs
检查当前标签使用标签的id来获取元素,假设它是“currenttab”,并在“inputId”中输入你的输入ID:
var tab=document.getElementById('currentTab');
var input = document.getElementById('inputId');
if (tab.contains(input))
{
alert("input is visible")
}