#javascript #jquery
#javascript #jquery
Вопрос:
Взгляните на этот код:
<script>
$(function(){
$("div.note a").live("click", function(e) {
e.preventDefault();
answer = confirm("Delete?");
if (!answer) return false;
$(this).parent().fadeOut('slow', function(){
$(this).remove();
});
});
});
</script>
<div id="note_list">
<div class="note">
Text:
<a href="#">X</a>
</div>
<div class="note">
Text:
<a href="#">X</a>
</div>
<div class="note">
Text:
<a href="#">X</a>
</div>
<div class="note">
Text:
<a href="#">X</a>
</div>
</div>
Может кто-нибудь сказать мне, почему fadeout не работает? после щелчка div удаляется, но я не вижу эффектов затухания. Почему?
Комментарии:
1. Работает просто отлично: jsfiddle.net/svmg4
2. Ваш код работает нормально. Пожалуйста, отправьте код, который был проверен, чтобы продемонстрировать проблему.
3. Это работает для меня в jsfiddle: — jsfiddle.net/CNQXV Текст и ссылка исчезают. У вас есть пример онлайн, который мы можем увидеть? Вероятно, у вас есть какая-то другая ошибка JavaScript, которая вызывает конфликт?
Ответ №1:
Это работает, я сделал для вас скрипку.
Если по какой-то причине вы все еще не видите его, попробуйте заменить 'slow'
на количество миллисекунд, что-то достаточно большое, например 3000, должно это сделать.
Комментарии:
1. @Dail: использование
"slow"
не должно вызывать никаких проблем. Я полагаю, что он будет отображаться на 800 мс. РЕДАКТИРОВАТЬ: на самом деле выглядит как 600 мс github.com/jquery/jquery/blob/1.6.2/src/effects.js#L542-5472. Я обнаружил, что затухание не работает в Chrome при использовании ‘slow’ в приведенном выше jsfiddle
3. @Deebster: Какая версия Chrome? Для меня работает нормально.
4. Chrome 14.0.835.202 m в Windows 7 Pro
5. @Deebster: Странно. Я нахожусь в бета-версии Chrome 15, но я не помню никаких проблем с v14. Ну что ж.
Ответ №2:
вы также можете попробовать .fadeTo(3000,0,function(){$(this).remove();})