You have to call onScreen
with the correct this
value:
settings.onScreen.call(this);
If you want to be more in line with the built-in jQuery methods, you can pass the index and element as well:
settings.onScreen.call(this, index, this);
Reference: https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Function/call