// Repaints the progress bar's filled-in amount based on the % of time elapsed for current video.
progressBar.change(function() {
var currentTime = $(this).val();
var totalTime = parseInt($(this).prop('max'), 10);
// Don't divide by 0.
var fill = totalTime !== 0 ? currentTime/totalTime : 0;
// EDIT: Added this check, testing with it now.
if (fill < 0 || fill > 1) throw "Wow this really should not have been " + fill;
var backgroundImage = '-webkit-gradient(linear,left top, right top, from(#ccc), color-stop(' + fill + ',#ccc), color-stop(' + fill + ',rgba(0,0,0,0)), to(rgba(0,0,0,0)))';
$(this).css('background-image', backgroundImage);
});
Napełnianie paska postępu w czasie przy użyciu powyższego javascript do modyfikacji jego obrazu tła z gradientem.Czy istnieje ograniczenie częstotliwości modyfikowania obrazu tła elementu?
Niezwykle przerywany - obraz w tle całkowicie zatrzymuje renderowanie. Umieściłem logowanie w całym kodzie i wszystko wydaje się być uruchamiane poprawnie. Nie dzielę przez 0, ani moje wypełnienie 0, ale obraz w tle przestaje się wyświetlać.
Jeśli ponownie załaduję element dom - zacznie działać ponownie! Zastanawiam się, czy robię coś naprawdę nie tak. Może nie mogę ustawić obrazu tła tak bez przerwy przez wiele godzin?
EDYCJA: Mam zamiar zrobić krótki filmik z rejestracją, aby podkreślić problem. Może mnie trochę odtworzyć.
umieścić punkt przerwania do kodu i obserwowane wartości wypełnienia na wartość większą niż 0 i mniejszy niż 1. W tym przypadku jego wartość 0,6925
Umieszczenie przerwania do kodu , włamanie do punktu, a następnie zezwolenie na wykonanie, aby kontynuować, powoduje ponowne pojawienie się paska postępu!
EDIT2: Oto film z nim dzieje: http://screencast.com/t/DvzBr06f
Nie, nie ma Ogranicza to, ile razy możesz zmienić właściwość css. – adeneo
Dobrze wiedzieć. Dzięki. –
Jaka jest dokładna wartość zmiennej "wypełnij", gdy tak się dzieje? Dodaj kolejną kontrolę i zobacz, czy kiedykolwiek wyzwolił 'if (wypełnij < 0 || fill > 1)' – Ma3x