Follow the example I created for you four days ago ( using iscroll with jquery mobile )... You are binding to an event that only fires on the initial page load and you want to bind to a jQuery Mobile event that fires whenever a new page is added to the DOM.
Change:
var myScroll;
document.addEventListener('DOMContentLoaded', loaded, false);
To:
var myScroll = [];
$(document).delegate('[data-role="page"]', 'pagecreate', function () {
myScroll[this.id] = new iScroll(this.id + '_wrapper', {
snap: true,
momentum: false,
hScrollbar: false
});
});
Which will require renaming the wrapper
div on each page to _wrapper. Which is necessary anyway because each element with an ID needs a unique ID in the DOM.
Link: using iscroll with jquery mobile
--UPDATE--
I have created an example of using iScroll carousels on multiple pages. Notice how I include the custom JavaScript and CSS on each page so if the user refreshes the page (on any page) they will not receive any errors because of missing code.
Here is the link to the working example: http://apexeleven.com/stackoverflow/iScroll/default.html