From 74730600030512323364fd5572f242583cc1bccb Mon Sep 17 00:00:00 2001 From: Daniel Erickson Date: Fri, 29 Mar 2013 11:37:34 -0700 Subject: [PATCH 1/4] Add support for browserify --- scrollfix.js | 64 ++++++++++++++++++++++++++++++++++------------------ 1 file changed, 42 insertions(+), 22 deletions(-) diff --git a/scrollfix.js b/scrollfix.js index 19e6d0f..26fbbe5 100644 --- a/scrollfix.js +++ b/scrollfix.js @@ -2,30 +2,50 @@ * ScrollFix v0.1 * http://www.joelambert.co.uk * + * Modified to add browserify support by Daniel Erickson + * * Copyright 2011, Joe Lambert. * Free to use under the MIT license. * 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 (window && (typeof module == 'undefined')) { + window.ScrollFix = ScrollFix; + } + // otherwise, export it. + else { + module.exports = ScrollFix; + } + +})(); From 3826ab45faf313547f31205e2db94f954e5712b9 Mon Sep 17 00:00:00 2001 From: Daniel Erickson Date: Fri, 29 Mar 2013 11:42:23 -0700 Subject: [PATCH 2/4] added a package.json for npm support --- package.json | 22 ++++++++++++++++++++++ scrollfix.js | 2 -- 2 files changed, 22 insertions(+), 2 deletions(-) create mode 100644 package.json diff --git a/package.json b/package.json new file mode 100644 index 0000000..236c9b7 --- /dev/null +++ b/package.json @@ -0,0 +1,22 @@ +{ + "name": "scrollfix", + "version": "0.0.1", + "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 26fbbe5..917c260 100644 --- a/scrollfix.js +++ b/scrollfix.js @@ -2,8 +2,6 @@ * ScrollFix v0.1 * http://www.joelambert.co.uk * - * Modified to add browserify support by Daniel Erickson - * * Copyright 2011, Joe Lambert. * Free to use under the MIT license. * http://www.opensource.org/licenses/mit-license.php From 742840944202f455884e48c04bb58ba30701dcc1 Mon Sep 17 00:00:00 2001 From: Daniel Erickson Date: Thu, 2 May 2013 17:57:57 -0700 Subject: [PATCH 3/4] guard against window checks --- .gitignore | 1 + scrollfix.js | 2 +- 2 files changed, 2 insertions(+), 1 deletion(-) create mode 100644 .gitignore 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/scrollfix.js b/scrollfix.js index 917c260..99f4640 100644 --- a/scrollfix.js +++ b/scrollfix.js @@ -38,7 +38,7 @@ // if we've got a window and we don't have a module // create a global; - if (window && (typeof module == 'undefined')) { + if ((typeof window != 'undefined') && (typeof module == 'undefined')) { window.ScrollFix = ScrollFix; } // otherwise, export it. From f11e8c0a84e1703747b8753ee6dad402f93df3b0 Mon Sep 17 00:00:00 2001 From: Daniel Erickson Date: Thu, 2 May 2013 17:58:03 -0700 Subject: [PATCH 4/4] 0.0.2 --- package.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/package.json b/package.json index 236c9b7..19096f2 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "scrollfix", - "version": "0.0.1", + "version": "0.0.2", "description": "Small script to fix some of the issues with iOS5's overflow:scroll;", "main": "scrollfix.js", "scripts": {