in src/assets/js/main.js [746:828]
$.fn.extenstionAnatomy = function (options) {
var settings = $.extend(
{
control: $('#anatomy-control'),
},
options
);
var $this = this;
var first = true;
var timer1 = null;
var timer2 = null;
var $tile_interface = $('#interface');
var $tile_content = $('#content');
var $tile_background = $('#background');
$tile_interface
.on('mouseenter', function () {
$tile_interface.addClass('hover');
})
.on('mouseleave', function () {
$tile_interface.removeClass('hover');
});
$tile_content
.on('mouseenter', function () {
$tile_content.addClass('hover');
})
.on('mouseleave', function () {
$tile_content.removeClass('hover');
});
$tile_background
.on('mouseenter', function () {
$tile_background.addClass('hover');
})
.on('mouseleave', function () {
$tile_background.removeClass('hover');
});
$this.on('inview', function (event, isInView) {
clearTimeout(timer1);
clearTimeout(timer2);
if (isInView) {
var delay = first ? 700 : 100;
timer1 = setTimeout(function () {
$this.addClass('step-one');
settings.control.addClass('step-one');
}, delay);
timer2 = setTimeout(function () {
$this.addClass('step-two');
settings.control.addClass('step-two');
}, delay + 200);
first = false;
} else {
$this.removeClass('step-one step-two');
settings.control.removeClass('step-one step-two');
}
});
settings.control
.on('mouseenter', 'button', function () {
var panel = $(this).data('panel');
if (panel == 'anatomy-ui') {
$tile_interface.addClass('hover');
} else if (panel == 'anatomy-content') {
$tile_content.addClass('hover');
} else if (panel == 'anatomy-background') {
$tile_background.addClass('hover');
}
})
.on('mouseleave', 'button', function () {
$tile_interface.removeClass('hover');
$tile_content.removeClass('hover');
$tile_background.removeClass('hover');
});
// Fallback for touch devices using full-width layout.
if (is_touch_device) {
$('#anatomy-of-an-extension-graphic, #anatomy-control').addClass(
'step-one step-two'
);
}
};