Таким образом, у меня есть функция, которая вызывается с помощью селектораобъект Jquery возвращает неопределенное значение
$(window).scroll(function() {
console.log($("#content div").inview());
});
Однако она возвращает неопределенное. Когда я возвращаю $ elems, он показывает мне все правильные элементы, но когда я возвращаю $ el, он дает undefined.
$.fn.inview = function() {
var $elems = this;
function getViewportHeight() {
/*do tsoomething that works*/
return height;
}
var vpH = getViewportHeight(),
scrolltop = (document.documentElement.scrollTop ?
document.documentElement.scrollTop :
document.body.scrollTop);
// return $elems.toArray();
$elems.each(function() {
var $el = $(this)
height = $el.height() - (vpH/1.5),
inview = $el.data('inview') || false,
topofscreen = scrolltop,
botofscreen = topofscreen + vpH,
topofelement= $el.offset().top;
return $el;
};
Возможный дубликат [Возврат значения при использовании jQuery.each()?] (Http://stackoverflow.com/questions/3820269/return-a-value-when-using-jquery-each) – JJJ
'return $ elems.each (...); 'from $ .fn.inview() –