2008-12-01 2 views
28

У меня есть набор div, которые я хочу сделать разборчивыми/расширяемыми с помощью метода slideToggle() jQuery. Как сделать все эти divs по умолчанию декомпрессированными? Я бы хотел избежать явного вызова метода slideToggle() для каждого элемента во время/после отображения страницы.Выполнение элементов slideToggle() по умолчанию в jQuery

ответ

47

Вы должны назначить стиль: Дисплей: никто к этим слоям, так что они не отображаются до того яваскрипта рендеринга. Тогда вы можете вызвать slideToggle() без проблем. Пример:

<style type="text/css"> 
    .text{display:none} 
</style> 

<script type="text/javascript"> 
    $(document).ready(function() {  
     $('span.more').click(function() { 
      $('p:eq(0)').slideToggle(); 
      $(this).hide(); 
     }); 
    }); 
</script> 

<body>    
     <p class="text"> 
      I am using jquery <br/> 
      I am using jquery <br/> 
      I am using jquery <br/> 
      I am using jquery <br/> 
      I am using jquery <br/> 
      I am using jquery <br/>   
     </p> 
     <span class="more">show</span> 
+0

Это вызвало проблемы для людей, у которых отключен Javascript, но CSS включен. Они не смогут увидеть ваш контент! – strager 2008-12-01 23:39:52

12

вы, вероятно, может сделать что-то вроде этого:

$(document).ready(function(){ 
    $('div').hide(); 
}); 
+1

Преимущество этой версии заключается в том, что если jquery исчезает, вы по умолчанию показываете оба отображаемых. – gaijintendo 2015-01-24 21:23:27

10

Вы можете создавать свои элементы со стилем = "display: none;" и slideToggle() возьмет его оттуда.

3

Применение стиля CSS за кулисами будет, как указано выше, причиной осложнений для пользователей с отключенными сценариями. Способ вокруг этого состоит в том, чтобы объявить ваш элемент скрытым, как сказала Энн, или определив свой CSS в вашем скрипте как функцию, которую нужно изменить, а не как стиль для страницы (чтобы сохранить структуру, стиль и функцию отдельно), а затем используя toggleClass функция скрипта или функции скрытия эффекта, определенные jQuery.

Смежные вопросы