Javascript 当一切都解决后,在页面加载上发布事件

Javascript 当一切都解决后,在页面加载上发布事件,javascript,jquery,Javascript,Jquery,好吧,我的页面有个奇怪的问题 当页面第一次加载时,我不想看到的divs被隐藏。但几秒钟后,divs再次打开。当我点击主页的链接时,我不想看到的divs最终被隐藏 我想写一个脚本,就像旧PowerBuilder中的一个POST事件,在这个事件中,当所有的事情都说了和做了之后,我不想看到的divs最终被隐藏了 我有1000行代码,搜索速度非常慢 我只需要一个事件来确保我不想看到的divs保持隐藏 代码如下: function hideChildDivs(parent) { parent.ch

好吧,我的页面有个奇怪的问题

当页面第一次加载时,我不想看到的
div
s被隐藏。但几秒钟后,
div
s再次打开。当我点击主页的链接时,我不想看到的
div
s最终被隐藏

我想写一个脚本,就像旧PowerBuilder中的一个
POST
事件,在这个事件中,当所有的事情都说了和做了之后,我不想看到的
div
s最终被隐藏了

我有1000行代码,搜索速度非常慢

我只需要一个事件来确保我不想看到的
div
s保持隐藏

代码如下:

function hideChildDivs(parent) {
    parent.children('div').removeClass('shown').addClass('hidden');
}

function changePage(id, pageName, title, icon) {
    switch (pageName) {
    case 'treeview':
        hideChildDivs($("#otherPageContent"));
        showOnlyActivatedPanel('none');
        $('#otherPageContent').removeClass('shown').addClass('hidden'); //<!-- This is the container wrapper... see below. -->
        $("#pgCoreSettingsMaintenance").removeClass('shown').addClass('hidden'); //<!-- This element needs to remain hidden when the dashboard shows -->
        $("#contentDivWrapper").removeClass("hidden").addClass("shown");
        $("#dash").removeClass();
        $("#tree").removeClass();
        $("#thres").removeClass();
        $('#mainContentPane h1 > i').removeClass().addClass(icon);
        $("#pgDashboard").addClass("hidden").removeClass("shown");
        $('#headerTitleTree').html(title);
        $("#headerTitleRow").removeClass('hidden');
        $("#headerTitleRow").addClass('shown');
        $("#" + id).addClass("active");
        $("#dash").removeClass("active");
        $("#thres").removeClass("active");

        break;

    case 'dashboard':  //<!-- this is the first div that is displayed on startup -->
        hideChildDivs($("#otherPageContent"));
        showOnlyActivatedPanel('none');
        preLoader = false;
        $("#contentDivWrapper").removeClass("shown").addClass("hidden");
        $('#headerTitleTree').html(title);
        $("#headerTitleRow").removeClass('hidden');
        $("#headerTitleRow").addClass('shown');
        $("#dash").removeClass();
        $("#tree").removeClass();
        $("#thres").removeClass();
        $("#pgDashboard").addClass("shown");
        $("#pgDashboard").removeClass("hidden");
        $('#mainContentPane h1 > i').removeClass().addClass(icon);
        $("#" + id).addClass("active");
        $("#tree").removeClass("active");
        $("#thres").removeClass("active");
        $('#otherPageContent').removeClass('hidden').addClass('shown');
        $("#pgDashboard").removeClass('hidden').addClass('shown');
        $("#pgCoreSettingsMaintenance").removeClass('shown').addClass('hidden');
        loadPageIntoDiv("web-resources/templates/" + pageName + ".html");
        getKPIs(myUrl, myCallback);

        break;

    case 'threshold':
        hideChildDivs($("#otherPageContent"));
        showOnlyActivatedPanel('none');
        $('#mainContentPane h1 > i').removeClass().addClass(icon);
        $("#contentDivWrapper").removeClass("shown").addClass("hidden");
        $('#headerTitleTree').html(title);
        $("#headerTitleRow").removeClass('hidden');
        $("#headerTitleRow").addClass('shown');
        $("#" + id).addClass("active");
        $("#tree").removeClass("active");
        $("#dash").removeClass("active");
        $("#pgDashboard").removeClass("shown").addClass("hidden");
        $('#otherPageContent').removeClass('hidden').addClass('shown');
        $("#pgCoreSettingsMaintenance").removeClass('hidden').addClass('shown'); //<!-- this element needs to remain hidden when the dashboard shows. -->
        break;

    }
}
函数hideChildDivs(父级){
parent.children('div').removeClass('show').addClass('hidden');
}
功能更改页面(id、页面名称、标题、图标){
开关(页面名称){
案例“treeview”:
hideChildDivs($(“#其他页面内容”);
仅显示激活面板(“无”);
$('#otherPageContent').removeClass('显示').addClass('隐藏')//
$(“#pgCoreSettingsMaintenance”).removeClass('show').addClass('hidden')//
$(“#contentDivWrapper”).removeClass(“隐藏”).addClass(“显示”);
$(“#破折号”).removeClass();
$(“#树”).removeClass();
$(“#thres”).removeClass();
$('#mainContentPane h1>i').removeClass().addClass(图标);
$(“#pgDashboard”).addClass(“隐藏”).removeClass(“显示”);
$('#headerTitleTree').html(标题);
$(“#headerTitleRow”).removeClass('hidden');
$(“#headerTitleRow”).addClass(“显示”);
$(“#”+id).addClass(“活动”);
$(“#破折号”).removeClass(“活动”);
$(“#thres”).removeClass(“活动”);
打破
案例“仪表板”://
hideChildDivs($(“#其他页面内容”);
仅显示激活面板(“无”);
预加载=假;
$(“#contentDivWrapper”).removeClass(“显示”).addClass(“隐藏”);
$('#headerTitleTree').html(标题);
$(“#headerTitleRow”).removeClass('hidden');
$(“#headerTitleRow”).addClass(“显示”);
$(“#破折号”).removeClass();
$(“#树”).removeClass();
$(“#thres”).removeClass();
$(“#pgDashboard”).addClass(“显示”);
$(“#pgDashboard”).removeClass(“隐藏”);
$('#mainContentPane h1>i').removeClass().addClass(图标);
$(“#”+id).addClass(“活动”);
$(“#树”).removeClass(“活动”);
$(“#thres”).removeClass(“活动”);
$('otherPageContent').removeClass('hidden').addClass('Showed');
$(“#pgDashboard”).removeClass('hidden').addClass('showed');
$(“#pgCoreSettingsMaintenance”).removeClass('show').addClass('hidden');
loadPageIntoDiv(“web资源/模板/”+pageName+“.html”);
getkpi(myUrl,myCallback);
打破
案例“阈值”:
hideChildDivs($(“#其他页面内容”);
仅显示激活面板(“无”);
$('#mainContentPane h1>i').removeClass().addClass(图标);
$(“#contentDivWrapper”).removeClass(“显示”).addClass(“隐藏”);
$('#headerTitleTree').html(标题);
$(“#headerTitleRow”).removeClass('hidden');
$(“#headerTitleRow”).addClass(“显示”);
$(“#”+id).addClass(“活动”);
$(“#树”).removeClass(“活动”);
$(“#破折号”).removeClass(“活动”);
$(“#pgDashboard”).removeClass(“显示”).addClass(“隐藏”);
$('otherPageContent').removeClass('hidden').addClass('Showed');
$(“#pgCoreSettingsMaintenance”).removeClass('hidden').addClass('Showed')//
打破
}
}
这是按顺序排列的分区

    <div id="otherPageContent" class="hidden">
      <div id="pgDashboard" class="hidden"></div>
      <div id="pgThresholdConfigurationPH" class="hidden"></div>
      <div id="pgCoreSettingsMaintenancePagePH" class="hidden"></div>
    </div>

在车身装载时使用
setInterval()
。它可以帮助您在页面加载后获得一些时间间隔


最好使用
setTimeout()
。它将调用您的函数一次,您可以通过指定时间间隔来隐藏您的DIV。

为什么不给DIV标记一个class属性,然后应用CSS样式
{display:none;}

您是否尝试使用
.ready()
函数


在我看来,如果您需要一个计时器等待javascript完成运行,以便将html设置回您想要的状态,那么代码在开始时的运行顺序是不正确的。可能需要重新思考并重新排序,以便在初始加载后,html元素处于正确的状态。

您应该发布与隐藏和显示的div相关的代码部分,以便人们可以帮助您。为什么您随机将一些单词大写,而将其他单词保留为小写?看到这看起来有多奇怪吗?@Tim,也许他是想强调这些词;-)对不起,我不是在喊。。。强调。。。蒂姆,你把“大写”这个词拼错了,把“S”和“Z”拼错了。如果我们很挑剔,是的,anand4Tech你是对的。强调了为什么不设置Timeout()?是的,设置Timeout()会很好。我们不应该通过setInterval再次调用函数,而应该调用它一次。hidden和.Showed是我为此目的创建的类属性。。。谢谢你的评论。
$( document ).ready(function() {
  changePage('','dashboard','','');
});