Im Moment habe ich diese Funktion:Verwenden Sie die Funktion als „auf“ Event?
function highlightBoxes() {
var windowStart = $(window).scrollTop();
var windowEnd = windowStart + $(window).height();
$('.box').each(function() {
var box = $(this);
var start = box.offset().top;
var end = start + box.height();
if (windowStart <= start && windowEnd >= end) {
box.addClass('active');
} else {
box.removeClass('active');
}
});
}
highlightBoxes();
$(document).scroll(highlightBoxes);
$(window).resize(highlightBoxes);
Welche wenn ein ganzes Element (in diesem Fall .box
) ist in Sicht (jsfiddle) überprüft. Allerdings möchte ich die Funktion als ein auf Ereignis verwenden zu können, so kann ich es für viele verschiedene Elemente verwenden. Etwas wie:
$('.box').on('inview', function() {
if (elementIsInView) {
// make the box red
} else {
// make the box the original color
}
});
Wie kann ich das tun?
Welches Ereignis möchten Sie? klicken, schweben, ziehen etc. 'inview' ist die Funktion. Sie ist eine Aktion, die vom Benutzer angewendet wird. – prasanth