Skip to content

Instantly share code, notes, and snippets.

@fukata
Created April 2, 2011 20:54
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save fukata/899881 to your computer and use it in GitHub Desktop.
Save fukata/899881 to your computer and use it in GitHub Desktop.
Data to draw within the screen.
// require jquery
$(function(){
var $w = $(window);
var $h = $('html,body');
var offset = $w.height();
function canDraw($target, info) {
var top = $target.position().top;
if (info.st - offset <= top && top <= info.st + info.wh + offset) {
return true;
}
return false;
}
function isFinish($target, info) {
var top = $target.position().top;
if (info.st + info.wh + offset < top) {
return true;
}
return false;
}
function updateView() {
var viewSelector = 'INPUT SELECTOR';
$views = $(viewSelector);
if ($views.length==0) return;
var sizeInfo = {
'st':$w.scrollTop(),
'wh':$w.height(),
'vh':$h.height()
};
console.log('updateView: scrollTop='+sizeInfo.st+', windowHeight='+sizeInfo.wh);
$views.each(function(){
var $self = $(this);
if (canDraw($self, sizeInfo)) {
console.log('view target='+$views.index($self));
drawView($self);
} else {
if (isFinish($self, sizeInfo)) {
console.log('finish.');
return false;
}
}
var top = $self.position().top;
});
}
function drawView($target) {
//FIXME implement.
}
updateView();
$(window).scroll(updateView);
});
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment