2012-05-06 2 views
0

Возможно, это потому, что я недостаточно спал, но я просто не могу понять это. Я пытаюсь создать страницу, на которой у вас есть несколько видеороликов, а затем есть div сверху, который появляется внезапно и исчезает по мере загрузки видео, и все это onClick. У меня было это раньше сегодня, но теперь он не работает. Часть функцииПростейший способ сделать div fadeOut

$('#hh').animate({ 
     opacity: 1 
    }, 0, function() { 
      myVideo.src = videos[numb]; 
     myVideo.load(); 
     myVideo.play(); 
    $('#hh').fadeOut(400);               
    }); 

так, почему это не работает?

ответ

2
$('#hh').show(); 
myVideo.src = videos[numb]; 
myVideo.load(); 
myVideo.play(); 
$('#hh').fadeOut(400);              
1

.fadeOut - довольно простой способ заставить вещи исчезнуть.

$('#clickme').click(function() { 
    $('#book').fadeOut('slow', function() { 
    // Animation complete. 
    }); 
}); 

Метод .fadeOut() анимирует непрозрачность согласованных элементов. Когда непрозрачность достигает 0, свойство стиля отображения имеет значение none, поэтому элемент больше не влияет на макет страницы.

Продолжительность дается в миллисекундах; более высокие значения указывают на более медленную анимацию, а не на более быстрые. «Быстрые» и «медленные» строки могут быть поданы для указания длительности 200 и 600 миллисекунд соответственно. Если добавлена ​​какая-либо другая строка или если параметр длительности опущен, используется длительность по умолчанию 400 миллисекунд.

1
$('TARGET').fadeOut(300); // TARGET is any valid selector 

fadeOut()

$('#hh').show('fast', function() { 
     myVideo.src = videos[numb]; 
     myVideo.load(); 
     myVideo.play(); 
     $(this).fadeOut(400);               
    }); 

также вы можете использовать

$('#hh').fadeIn('fast', function() { 
     myVideo.src = videos[numb]; 
     myVideo.load(); 
     myVideo.play(); 
     $(this).fadeOut(400);               
    }); 

fadeIn()

+0

0ms 'show()' не отображает анимацию и поэтому не требует обратного вызова. Это путано и избыточно для ОП. – AlienWebguy

+0

@AlienWebguy хм. спасибо – thecodeparadox

+0

Извините, но 'show ('fast', ..' - это не то же самое, что' fadeIn() ', поскольку вы увидите, что он растет, когда он исчезает с этой техникой. – AlienWebguy

0

Вы можете заменить код с,

$('#hh').fadeIn('slow', function() { 

        // Call Back Function 

        myVideo.src = videos[numb]; 
        myVideo.load(); 
        myVideo.play(); 
        $('#hh').fadeOut('slow');        
     }        
    }); 

Но есть одна вещь, которую я не понял, это то, почему вы хотите установить непрозрачность 0 после myVideo.play();

+0

Он показывает div, который, вероятно, говорит «загрузка видео» во время загрузки видео, и он исчезает, когда начинается воспроизведение видео. – davidaam

+0

@ davidaam, это в основном это –

0

Вы можете использовать FadeIn, в callback изменить ваше видео src, загрузить и воспроизвести, и, наконец, fadeOut. Он должен работать

$('#hh').fadeIn(400, function() { 
    myVideo.src = videos[numb]; 
    myVideo.load(); 
    myVideo.play(); 
    $(this).fadeOut(400);  
}); 
Смежные вопросы