It appears that you're loading the content of scrollableDiv via an ajax call perhaps? If so then that data probably will not be there when the window.load occurs. window.load does not wait for asychronous calls to complete.
The solution for that would be to put the $('.scrollableDiv').ClassyScroll(); at the end of your $(document).ready(function() {}); or put it in the success callback of an ajax call.
I do the ajax thing all the time in jquery it would look something like this:
$.ajax({
beforeSend: function(req, settings) {
// display a please wait spinner
},
complete: function(req, status) {
// hide the please wait spinner
// also a possible place to put code you want run after the DOM has changed
},
async: true, // could omit as this is the default
data: {param1:foo, param2:bar},
dataType: "html",
error: function(req, status, err) {
// report the bad error
},
success: function(data, status, req) {
// do the fun stuff here
},
type: "POST",
url: someURL
});