diff --git a/.gitignore b/.gitignore new file mode 100644 index 0000000..c8f50f7 --- /dev/null +++ b/.gitignore @@ -0,0 +1 @@ +npm-debug.log diff --git a/package.json b/package.json new file mode 100644 index 0000000..19096f2 --- /dev/null +++ b/package.json @@ -0,0 +1,22 @@ +{ + "name": "scrollfix", + "version": "0.0.2", + "description": "Small script to fix some of the issues with iOS5's overflow:scroll;", + "main": "scrollfix.js", + "scripts": { + "test": "echo \"Error: no test specified\" && exit 1" + }, + "repository": { + "type": "git", + "url": "git://github.com/Techwraith/ScrollFix.git" + }, + "keywords": [ + "ios", + "browserify", + "scroll" + ], + "author": "joelambert", + "license": "MIT", + "readmeFilename": "README.md", + "gitHead": "74730600030512323364fd5572f242583cc1bccb" +} diff --git a/scrollfix.js b/scrollfix.js index 19e6d0f..99f4640 100644 --- a/scrollfix.js +++ b/scrollfix.js @@ -7,25 +7,43 @@ * http://www.opensource.org/licenses/mit-license.php */ -var ScrollFix = function(elem) { - // Variables to track inputs - var startY, startTopScroll; - - elem = elem || document.querySelector(elem); - - // If there is no element, then do nothing - if(!elem) - return; - - // Handle the start of interactions - elem.addEventListener('touchstart', function(event){ - startY = event.touches[0].pageY; - startTopScroll = elem.scrollTop; - - if(startTopScroll <= 0) - elem.scrollTop = 1; - - if(startTopScroll + elem.offsetHeight >= elem.scrollHeight) - elem.scrollTop = elem.scrollHeight - elem.offsetHeight - 1; - }, false); -}; \ No newline at end of file +(function () { + var ScrollFix = function(elem) { + // Variables to track inputs + var startY, startTopScroll; + + elem = elem || document.querySelector(elem); + + // If there is no element, then do nothing + if(!elem) { + return; + } + + // Handle the start of interactions + elem.addEventListener('touchstart', function(event){ + startY = event.touches[0].pageY; + startTopScroll = elem.scrollTop; + + if(startTopScroll <= 0) { + elem.scrollTop = 1; + } + + if(startTopScroll + elem.offsetHeight >= elem.scrollHeight) { + elem.scrollTop = elem.scrollHeight - elem.offsetHeight - 1; + } + + }, false); + + }; + + // if we've got a window and we don't have a module + // create a global; + if ((typeof window != 'undefined') && (typeof module == 'undefined')) { + window.ScrollFix = ScrollFix; + } + // otherwise, export it. + else { + module.exports = ScrollFix; + } + +})();