allow refresh for new elements on page
-
I’m creating a plugin with infinite scroll and need your javascript to fire each time a new product is added on the page. I came up with the following code that I hope you could include in a future update. I don’t believe this will break anyones existing installation:
assets/js/wc-quantity-increment.js
function wcqi_refresh_quantity_increments(){ // Quantity buttons jQuery( 'div.quantity:not(.buttons_added), td.quantity:not(.buttons_added)' ).addClass( 'buttons_added' ).append( '<input type="button" value="+" class="plus" />' ).prepend( '<input type="button" value="-" class="minus" />' ); } jQuery(document).ready(function(){ wcqi_refresh_quantity_increments(); }); jQuery( document ).on( 'click', '.plus, .minus', function() { // Get values var $qty = jQuery( 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 ( jQuery( 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' ); });
https://www.ads-software.com/plugins/woocommerce-quantity-increment/
Viewing 3 replies - 1 through 3 (of 3 total)
Viewing 3 replies - 1 through 3 (of 3 total)
- The topic ‘allow refresh for new elements on page’ is closed to new replies.