Daniel@0: /** Daniel@0: * ScrollFix v0.1 Daniel@0: * http://www.joelambert.co.uk Daniel@0: * Daniel@0: * Copyright 2011, Joe Lambert. Daniel@0: * Free to use under the MIT license. Daniel@0: * http://www.opensource.org/licenses/mit-license.php Daniel@0: */ Daniel@0: Daniel@0: var ScrollFix = function(elem) { Daniel@0: // Variables to track inputs Daniel@0: var startY, startTopScroll; Daniel@0: Daniel@0: elem = elem || document.querySelector(elem); Daniel@0: Daniel@0: // If there is no element, then do nothing Daniel@0: if(!elem) Daniel@0: return; Daniel@0: Daniel@0: // Handle the start of interactions Daniel@0: elem.addEventListener('touchstart', function(event){ Daniel@0: startY = event.touches[0].pageY; Daniel@0: startTopScroll = elem.scrollTop; Daniel@0: Daniel@0: if(startTopScroll <= 0) Daniel@0: elem.scrollTop = 1; Daniel@0: Daniel@0: if(startTopScroll + elem.offsetHeight >= elem.scrollHeight) Daniel@0: elem.scrollTop = elem.scrollHeight - elem.offsetHeight - 1; Daniel@0: }, false); Daniel@0: };