diff --git a/4chan_x.user.js b/4chan_x.user.js index 78a68da09..7a4795930 100644 --- a/4chan_x.user.js +++ b/4chan_x.user.js @@ -2194,21 +2194,32 @@ }, cb: { node: function(root) { - var thumb; + var a, thumb; if (!(thumb = $('img[md5]', root))) { return; } + a = thumb.parentNode; + a.setAttribute('data-href', a.href); + a.removeAttribute('href'); $.bind(thumb, 'mouseover', imageHover.cb.mouseover); $.bind(thumb, 'mousemove', ui.hover); - return $.bind(thumb, 'mouseout', ui.hoverend); + $.bind(thumb, 'mouseout', ui.hoverend); + return $.bind(thumb, 'mouseout', imageHover.cb.mouseout); }, mouseover: function(e) { - var el; + var a, el; + a = this.parentNode; + a.href = a.dataset.href; el = $('#iHover'); el.src = null; el.src = this.parentNode.href; ui.el = el; return $.show(el); + }, + mouseout: function(e) { + var a; + a = this.parentNode; + return a.removeAttribute('href'); } } }; diff --git a/script.coffee b/script.coffee index 7a5d9d8eb..1f4c5ee71 100644 --- a/script.coffee +++ b/script.coffee @@ -1681,15 +1681,24 @@ imageHover = cb: node: (root) -> return unless thumb = $ 'img[md5]', root + a = thumb.parentNode + a.setAttribute 'data-href', a.href + a.removeAttribute 'href' $.bind thumb, 'mouseover', imageHover.cb.mouseover $.bind thumb, 'mousemove', ui.hover $.bind thumb, 'mouseout', ui.hoverend + $.bind thumb, 'mouseout', imageHover.cb.mouseout mouseover: (e) -> + a = @parentNode + a.href = a.dataset.href el = $ '#iHover' el.src = null el.src = @parentNode.href ui.el = el $.show el + mouseout: (e) -> + a = @parentNode + a.removeAttribute 'href' imgPreloading = init: ->