jQuery( function( $ ) { // Quantity buttons. // Only add to elements that have a number input. Text or hidden inputs would not need these. $( 'div.quantity:not(.spinners-added):has(input[type="number"])' ).addClass( 'spinners-added' ).append( '<input type="button" value="+" class="plus" />' ).prepend( '<input type="button" value="-" class="minus" />' ); $( document ).on( 'updated_cart_totals', function() { $( 'div.quantity:not(.spinners-added):has(input[type="number"])' ).addClass( 'spinners-added' ).append( '<input type="button" value="+" class="plus" />' ).prepend( '<input type="button" value="-" class="minus" />' ); }); $( 'body' ).on( 'quick-view-displayed', function() { $( 'div.quantity:not(.spinners-added):has(input[type="number"])' ).addClass( 'spinners-added' ).append( '<input type="button" value="+" class="plus" />' ).prepend( '<input type="button" value="-" class="minus" />' ); }); $( document ).on( 'click', '.plus, .minus', function() { // Get values var $qty = $( this ).closest( '.quantity' ).find( '.qty' ), currentVal = parseFloat( $qty.val() ), max = parseFloat( $qty.attr( 'max' ) ), min = parseFloat( $qty.attr( 'min' ) ), step = $qty.attr( 'step' ); // Format values if ( ! currentVal || currentVal === '' || currentVal === 'NaN' ) currentVal = 0; if ( max === '' || max === 'NaN' ) max = ''; if ( min === '' || min === 'NaN' ) min = 0; if ( step === 'any' || step === '' || step === undefined || parseFloat( step ) === 'NaN' ) step = 1; // Change the value if ( $( this ).is( '.plus' ) ) { if ( max && ( max == currentVal || currentVal > max ) ) { $qty.val( max ); } else { $qty.val( currentVal + parseFloat( step ) ); } } else { if ( min && ( min == currentVal || currentVal < min ) ) { $qty.val( min ); } else if ( currentVal > 0 ) { $qty.val( currentVal - parseFloat( step ) ); } } // Trigger change event $qty.trigger( 'change' ); }); });
Name | Type | Size | Permission | Actions |
---|---|---|---|---|
admin-activate.js | File | 3.75 KB | 0644 |
|
cart-update.js | File | 157 B | 0644 |
|
css-vars-ponyfill.js | File | 41.91 KB | 0644 |
|
gutenberg-notice.js | File | 649 B | 0644 |
|
ie.js | File | 1.17 KB | 0644 |
|
lightbox-init.js | File | 2.37 KB | 0644 |
|
navigation-lite.js | File | 18.54 KB | 0644 |
|
navigation.js | File | 43.36 KB | 0644 |
|
product-cls.js | File | 526 B | 0644 |
|
shop-spinner.js | File | 1.93 KB | 0644 |
|
shop-toggle.js | File | 4.91 KB | 0644 |
|
simplelightbox.js | File | 13.74 KB | 0644 |
|
slide-init.js | File | 3.64 KB | 0644 |
|
splide-init.js | File | 4.91 KB | 0644 |
|
splide.js | File | 81.98 KB | 0644 |
|
text-widgets.js | File | 11.34 KB | 0644 |
|