JQuery Hide () Div до полной загрузки - PullRequest
4 голосов
/ 10 августа 2010

Я использую избранные посты для моего блога.Как реализовать div#latest-featured, будет ли hide(), а затем show() возвращаться после полной загрузки контента?

$(document).ready(function() {
    //Default Action
    $(".tab_content").hide(); //Hide all content
    $("ul.tabs li:first").addClass("active").show(); //Activate first tab
    $(".tab_content:first").show(); //Show first tab content

    //On Click Event
    $("ul.tabs li").click(function() {
        $("ul.tabs li").removeClass("active"); //Remove any "active" class
        $(this).addClass("active"); //Add "active" class to selected tab
        $(".tab_content").hide(); //Hide all tab content
        var activeTab = $(this).find("a").attr("href"); //Find the rel attribute value to identify the active tab + content
        $(activeTab).fadeIn(); //Fade in the active content
        return false;
    });
});

HTML

<ul class="tabs">
  <li><a href="#f1">Title 1</a></li>
  <li><a href="#f2">Title 2</a></li>
</ul>
<div id="latest-featured">
  <div id="f1" class="tab_content">
    <p>Content for title 1</p>
    <p>Why I want to hide the #latest-featured because.. when had image @ script here.. the tab_content will collapse all and break my design</p>
  </div>
  <div id="f2" class="tab_content">
    <p>Content for title 1</p>
    <p>Why I want to hide the #latest-featured because.. when had image @ script here.. the tab_content will collapse all and break my design</p>
  </div>
</div>

Пример У меня есть div с id #latest-featured и я хочу скрыть его до полной загрузки содержимого, а затем показать его после загрузки всего.

Как реализовать текущий код выше.

Ответы [ 4 ]

12 голосов
/ 10 августа 2010

Наверное, лучше всего сделать что-то вроде этого:

<div id="latest-features" style="display:none;"></div>

$(function() {
    // do work
    $("div#latest-featured").show();
}

Обычно не рекомендуется скрывать что-либо по умолчанию, но это соответствует вашим требованиям.

2 голосов
/ 10 августа 2010

Если вы хотите, чтобы он отображался после загрузки, объявите CSS display: none для этого div, а затем вызовите $('div#latest-featured').show(); в вашей функции $ (document) .ready.

1 голос
/ 21 марта 2012

Если вы хотите, чтобы он отображался после загрузки, объявите отображение CSS: нет для этого div, а затем вызовите $('div#latest-featured').show(); в вашей функции $(document).ready.

Роберт ответил лучше, я бы проголосовал за него, но пока не могу ... искал это решение часами, и это было лучшее, что я нашел ...

0 голосов
/ 10 августа 2010

Почему бы просто не установить отображение div: none до тех пор, пока вы не загрузите данные, а затем удалить отображение: none ... есть много способов сделать то, что я только что упомянул (например, jQuery .toggle (true))

...