Функция jQuery toggle ().Я хотел бы получить некоторую критику или предложения для лучшей практики - PullRequest
1 голос
/ 23 января 2012

Мой код работает так, как мне хотелось бы, но я ищу любую критику по поводу того, как его можно урезать или изменить, чтобы сделать его более эффективным:

$('.toggle-comments').hide(); // this hides the results div when the page loads.                   
$(".comments-toggle-click").click(function () {                             
  $(".toggle-comments").slideToggle("slow");
  $(".comments-toggle-click").remove();
});             

Ответы [ 2 ]

2 голосов
/ 23 января 2012

Вместо вызова $('.toggle-comments').hide(); при загрузке страницы, почему бы не визуализировать комментарии с помощью display:none;?

1 голос
/ 23 января 2012

CSS:

.toggle-comments {
  display: none;
}

JavaScript:

$('.comments-toggle-click').click(function () {                             
  $('.toggle-comments').slideToggle('slow', function () {
    $('.comments-toggle-click').remove()
  })
})

Хитрость заключается в передаче .slideToggle функции обратного вызова, если вы хотите отложить удалениессылка, пока анимация не будет завершена.Это может быть или не быть проблемой, которой вы избегаете в своем вопросе.

...