diff --git a/css/lightbox.css b/css/lightbox.css index 1eb866d5..ba589dcf 100644 --- a/css/lightbox.css +++ b/css/lightbox.css @@ -209,7 +209,7 @@ body:after { opacity: 1; } -.lb-download{ +.lb-download, .lb-rotate-right, .lb-rotate-left{ border-radius: 5px; display: block; height: 40px; @@ -223,6 +223,25 @@ body:after { right: 15px; z-index: 11; } -.lb-download:hover{ - opacity: 1; + +.lb-rotate-left{ + top:15px; + left:15px; + background-image: url(../img/rotate-left.png); + background-position-x: 50%; + background-position-y: 50%; + background-repeat: no-repeat; +} + +.lb-rotate-right{ + top:15px; + right:15px; + background-image: url(../img/rotate-right.png); + background-position-x: 50%; + background-position-y: 50%; + background-repeat: no-repeat; } + +.lb-download:hover, .lb-rotate-right:hover, .lb-rotate-left:hover{ + opacity: 1; +} \ No newline at end of file diff --git a/js/lightbox.js b/js/lightbox.js index 0e12dfc0..b4e38caf 100644 --- a/js/lightbox.js +++ b/js/lightbox.js @@ -58,7 +58,8 @@ // Attach event handlers to the new DOM elements. click click click Lightbox.prototype.build = function() { var self = this; - $("
").appendTo($('body')); + + $("").appendTo($('body')); // Cache jQuery objects this.$lightbox = $('#lightbox'); @@ -137,10 +138,16 @@ var imageNumber = 0; function addToAlbum($link) { - self.album.push({ - link: $link.attr('href'), - title: $link.attr('data-title') || $link.attr('title') - }); + var data = {} + data.link = $link.attr('href'); + data.title = $link.attr('data-title') || $link.attr('title'); + data.rotation = false; + if($link.data('rotate-right') && $link.data('rotate-left')){ + data.rotateRightLink = $link.data('rotate-right'); + data.rotateLeftLink = $link.data('rotate-left'); + data.rotation = true; + } + self.album.push(data); } // Support both data-lightbox attribute and rel attribute implementations @@ -189,11 +196,13 @@ this.disableKeyboardNav(); var $image = this.$lightbox.find('.lb-image'); var $downloadLink = this.$lightbox.find('.lb-download'); + var $rotateRightLink = this.$lightbox.find('.lb-rotate-right'); + var $rotateLeftLink = this.$lightbox.find('.lb-rotate-left'); this.$overlay.fadeIn(this.options.fadeDuration); $('.lb-loader').fadeIn('slow'); - this.$lightbox.find('.lb-image, .lb-nav, .lb-prev, .lb-next, .lb-dataContainer, .lb-numbers, .lb-caption').hide(); + this.$lightbox.find('.lb-image, .lb-nav, .lb-prev, .lb-next, .lb-dataContainer, .lb-numbers, .lb-caption, .lb-rotate-right, .lb-rotate-left').hide(); this.$outerContainer.addClass('animating'); @@ -203,6 +212,16 @@ var $preloader, imageHeight, imageWidth, maxImageHeight, maxImageWidth, windowHeight, windowWidth; $image.attr('src', self.album[imageNumber].link); $downloadLink.attr('href', self.album[imageNumber].link); + if(self.album[imageNumber].rotation){ + $rotateRightLink.attr('href', self.album[imageNumber].rotateRightLink) + $rotateLeftLink.attr('href', self.album[imageNumber].rotateLeftLink) + $rotateRightLink.show(); + $rotateLeftLink.show(); + } else { + $rotateRightLink.hide(); + $rotateLeftLink.hide(); + } + $preloader = $(preloader); diff --git a/package.json b/package.json index 4c711512..759415a5 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "lightbox", - "version": "2.7.2", + "version": "2.7.3", "author": "Lokesh Dhakar", "description": "Lightbox is small javascript library used to overlay images on top of the current page. It's a snap to setup and works on all modern browsers.", "keywords": [