h5ai/src/_h5ai/js/inc/ext/link-hover-states.js

44 lines
797 B
JavaScript

module.define('ext/link-hover-states', [jQuery, 'core/settings'], function ($, allsettings) {
var defaults = {
enabled: false
},
settings = _.extend({}, defaults, allsettings['link-hover-states']),
selector = "a[href^='/']",
selectLinks = function (href) {
return $(_.filter($(selector), function (el) {
return $(el).attr('href') === href;
}));
},
onMouseEnter = function () {
var href = $(this).attr('href');
selectLinks(href).addClass('hover');
},
onMouseLeave = function () {
var href = $(this).attr('href');
selectLinks(href).removeClass('hover');
},
init = function () {
if (settings.enabled) {
$('body')
.on('mouseenter', selector, onMouseEnter)
.on('mouseleave', selector, onMouseLeave);
}
};
init();
});