Jump to content

User:Jrajav/myskin.js

From Wikipedia, the free encyclopedia
This is an old revision of this page, as edited by Jrajav (talk | contribs) at 00:04, 21 October 2012. The present address (URL) is a permanent link to this revision, which may differ significantly from the current revision.
Note: After saving, you have to bypass your browser's cache to see the changes. Google Chrome, Firefox, Microsoft Edge and Safari: Hold down the ⇧ Shift key and click the Reload toolbar button. For details and instructions about other browsers, see Wikipedia:Bypass your cache.
/*jslint regexp: true, browser: true */
/*global $: false */

$(function () {
	'use strict';

	$('div.tright, div.tleft').each(function () {
		var fullWidth = $('#column-content').width(),
			originalImage = $(this).find('img').first(),
			originalImageWidth = originalImage.width(),
			overlayAnchor = $('<a/>'),
			overlayImage = $('<img/>');

		overlayImage
			.addClass('jrajav-image-overlay')
			.css({
				'position': 'absolute',
				'top': originalImage.offset().top + 'px'
			})
			.css(
				$(this).is('.tright')
					? { 'right': ($(window).width() - (originalImage.offset().left + originalImageWidth)) + 'px' }
					: { 'left': originalImage.offset().left + 'px' }
			)
			.mouseenter(function () { $(this).css({'z-index': '1', 'width': fullWidth + 'px'}); })
			.mouseleave(function () { $(this).css({'z-index': 'auto', 'width': originalImageWidth + 'px'}); })
			.load(function () {
				fullWidth = this.width < fullWidth ? this.width : fullWidth;
				overlayImage.width(originalImageWidth);
				overlayAnchor.show();
				overlayImage.delay(0).trigger('mouseenter'); //Needed because of animations (not sure why)
			});


		overlayAnchor
			.hide()
			.attr('href', $(this).find('a').first().attr('href'))
			.append(overlayImage);

		$('body').prepend(overlayAnchor);

		originalImage.mouseenter(function () {
			overlayImage.attr('src', originalImage.attr('src').replace('/thumb/', '/').replace(/\/\d*px.*$/, ''));
			$(this).off('mouseenter');
		});
	});

	$('#searchInput')
		.attr('tabindex', 1)
		.attr('placeholder', 'Search');
});