Подтвердить что ты не робот

Как начать с моих jquery переключений, как скрытых?

У меня есть код, который отображает три изображения и соответствующий div под каждым изображением. Используя функцию jQuery.toggle, я сделал так, чтобы каждый div переключился, когда щелкнуло изображение над ним. Есть ли способ сделать это так, чтобы divs начинались как скрытые?

Спасибо за ваше время,

КОД ЗАПРОС:

    <html>
<head>
<script type="text/javascript" src="jquery.js"></script>
<script type="text/javascript">
$(document).ready(function(){
$("#picOne").click(function(){
$("#one").toggle(250);


 });

$("#picTwo").click(function(){
    $("#two").toggle(250);
  });


  $("#picThree").click(function(){
    $("#three").toggle(250);
  });

});
</script>
</head>

<body>


    <center>
    <h2>Smooth Transitions</h2>


    <img src="one.png" id="picOne">
        <div id="one">
        <p>first paragraph.</p>
        </div>

    <img src="two.png" id="picTwo">

        <div id="two" visibility="hidden">
        <p>Second Pair of giraffe.</p>
        </div>


    <img src="three.png" id="picThree">

        <div id="three">
        <p>Thiird paragraph.</p>
        </div>



</center>
</body>
</html> 
4b9b3361

Ответ 1

visibility - свойство css. Но отображение - это то, что вы хотите в любом случае

<div id="two" style="display:none;">
  <p>Second Pair of giraffe.</p>
</div>

Или выровняйте встроенный css и дайте каждому div, чтобы он переключился на класс css

<div id="two" class="initiallyHidden">

а затем

.initiallyHidden { display: none; }

И вы также можете немного очистить свой jQuery. Дайте ваши изображения, вызывающие поворот, классом css

    <img src="one.png" class="toggler">
    <div>
    <p>first paragraph.</p>
    </div>

И затем

$("img.toggler").click(function(){
    $(this).next().toggle(250);
});

Это избавит вас от необходимости всех этих идентификаторов, а также сделает это решение намного, гораздо более расширяемым.

А для обработки динамически добавленного контента вы можете использовать on вместо click

$(document).on("click", "img.toggler", function(){
    $(this).next().toggle(250);
});

(и для повышения производительности убедитесь, что все эти переключаемые изображения находятся в каком-то контейнере div, названном, скажем, containerFoo, а затем $("#containerFoo").on вместо $(document).on(

Ответ 2

С помощью css:

#one, #two, #three { display: none; }

С jQuery

$(function() {  //once the document is ready
  $('h2').nextAll('img') //select all imgs following the h2
    .find('div')  //select all contained divs
    .hide();
})

Кстати, вместо использования селекторов id вы, вероятно, должны использовать классы

Ответ 3

Просто добавьте style="display: none;" в div. Это запустит класс div как скрытый.

Когда jQuery переключает блок, стиль затем будет изменен на block