summaryrefslogtreecommitdiff
path: root/bak/oldluxpages/house-demo/photon.js
diff options
context:
space:
mode:
Diffstat (limited to 'bak/oldluxpages/house-demo/photon.js')
-rw-r--r--bak/oldluxpages/house-demo/photon.js55
1 files changed, 55 insertions, 0 deletions
diff --git a/bak/oldluxpages/house-demo/photon.js b/bak/oldluxpages/house-demo/photon.js
new file mode 100644
index 0000000..0485d85
--- /dev/null
+++ b/bak/oldluxpages/house-demo/photon.js
@@ -0,0 +1,55 @@
+/* jshint onevar: false */
+
+(function($){
+ /**
+ * For images lacking explicit dimensions and needing them, try to add them.
+ */
+ var restore_dims = function() {
+ $( 'img[data-recalc-dims]' ).each( function recalc() {
+ var $this = $( this );
+ if ( this.complete ) {
+
+ // Support for lazy loading: if there is a lazy-src
+ // attribute and it's value is not the same as the current src we
+ // should wait until the image load event
+ if ( $this.data( 'lazy-src' ) && $this.attr( 'src' ) !== $this.data( 'lazy-src' ) ) {
+ $this.load( recalc );
+ return;
+ }
+
+ var width = this.width,
+ height = this.height;
+
+ if ( width && width > 0 && height && height > 0 ) {
+ $this.attr( {
+ width: width,
+ height: height
+ } );
+
+ reset_for_retina( this );
+ }
+ }
+ else {
+ $this.load( recalc );
+ }
+ } );
+ },
+
+ /**
+ * Modify given image's markup so that devicepx-jetpack.js will act on the image and it won't be reprocessed by this script.
+ */
+ reset_for_retina = function( img ) {
+ $( img ).removeAttr( 'data-recalc-dims' ).removeAttr( 'scale' );
+ };
+
+ /**
+ * Check both when page loads, and when IS is triggered.
+ */
+ $( document ).ready( restore_dims );
+
+ if ( 'on' in $.fn ) {
+ $( document.body ).on( 'post-load', restore_dims );
+ } else {
+ $( document ).delegate( 'body', 'post-load', restore_dims );
+ }
+})(jQuery);