ons-carousel-item isn’t really designed to be used outside of an ons-page, and so in this case won’t initiliase properly. This means that the resize handler doesn’t get added, which causes the issue you are seeing. I would recommend against using the ons-carousel in this way. If you want to work around the initialisation not working, you could do the following inside an ons.ready callback: document.getElementById('carousel')._show();