I have been working on a piece of code that is meant to handle multiple, small video elements on a single webpage but I am having trouble making the multiple progress bars sync with their respective videos.
(Current jsFiddle prototype)
This piece of code $(this).find("progress").attr("value", $("video", this)[0].currentTime);
seems to work inside the main function, but when I wrap it in another function with a setTimeout
so the progress bar actually animates I get this error:
"Cannot read property 'currentTime' of undefined at function"
I've tried a few variations to see if I could get it working myself but I haven't been able to fix it by throwing code at the wall like I usually do.
Would someone be able to tell me why it's doing this?
In the setTimeout
your this
is not the main this
. So your code doesn't work. To work in the setTimeout, you need to get the this
before the setTimeout and the use it.
Example
var that = this;
setTimeout(function(){
// here use that
},100);
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With