.load и .slideDown не работают при первом запуске

#javascript #jquery #css

#javascript #jquery #css

Вопрос:

Я пытаюсь загрузить внешние html-документы внутри div с помощью .загрузка и .slideDown, но при первом нажатии на большой палец не запускает анимацию после первого раза, когда она работает нормально.

Если я помещу предупреждение между ними.загрузка и .slideDown в первый раз показывает содержимое перед тем, как я отклоню предупреждение, после этого он ждет, пока я отклоню предупреждение.

 $('.thumbs2').click(function() {

var idStr = ("project/" $(this).attr('id'))   " #box_project2";
    $('#close2').fadeIn(500).css({'display': 'block', 'height': '25px'});


     $('#box_project2').load(idStr,function(){  
                $(this).slideDown('slow', function() {
                });
        $.scrollTo('#gohere',300);


    });

});
  

Комментарии:

1. У вас такая же проблема при удалении " #box_project2" из idStr ?

Ответ №1:

Я предполагаю, что анимация, которая не работает, — это «.slideDown», Кажется, все в порядке, так как вы вызываете ее при обратном вызове. Я бы попытался проверить, не испортил ли его fadeIn, установив для него значение display block без исчезновения, чтобы оно было мгновенным. Также, чтобы убедиться, существует ли #box_project2 уже до его выполнения? (извините, я бы прокомментировал, но у меня недостаточно репутации)

Комментарии:

1. Да, вероятно, что-то с исчезновением, но что я нахожу странным, так это то, что содержимое отображается до того, как я отклоню предупреждение, если я его добавлю. Да, #box_project2 — это раздел, в котором содержимое должно расширяться, а также перенос всего содержимого в отдельные файлы.

2. Хм, я согласен, это звучит странно, что предупреждение не препятствует анимации содержимого. Вы пробовали вводить обратный вызов в fadeIn для запуска .load?

3. Нет, я сомневаюсь, что это исправит ситуацию, просто игнорируйте всю строку #close, поскольку она предназначена для другого элемента, и я удаляю ее при тестировании.

4. Господи, решил это, посидев с ним около 5 часов. .hide решил это $(‘#box_project2’).hide().load(idStr,function(){