$.fn.extenstionAnatomy = function()

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'
      );
    }
  };