woocommerce/assets/js/frontend/single-product.js

75 lines
2.2 KiB
JavaScript
Raw Normal View History

jQuery( function( $ ) {
2012-12-10 13:11:05 +00:00
// wc_single_product_params is required to continue, ensure the object exists
if ( typeof wc_single_product_params === 'undefined' ) {
return false;
}
// Tabs
$( '.woocommerce-tabs .panel' ).hide();
2012-12-10 13:11:05 +00:00
$( '.woocommerce-tabs ul.tabs li a' ).click( function() {
2012-12-10 13:11:05 +00:00
var $tab = $( this ),
$tabs_wrapper = $tab.closest( '.woocommerce-tabs' );
2012-12-10 13:11:05 +00:00
$( 'ul.tabs li', $tabs_wrapper ).removeClass( 'active' );
$( 'div.panel', $tabs_wrapper ).hide();
$( 'div' + $tab.attr( 'href' ), $tabs_wrapper).show();
$tab.parent().addClass( 'active' );
2012-12-10 13:11:05 +00:00
return false;
});
2012-12-10 13:11:05 +00:00
$( '.woocommerce-tabs' ).each( function() {
var hash = window.location.hash,
url = window.location.href,
tabs = $( this );
2014-02-05 12:40:15 +00:00
if ( hash.toLowerCase().indexOf( "comment-" ) >= 0 || hash == '#reviews' ) {
$('ul.tabs li.reviews_tab a', tabs ).click();
2014-02-05 12:40:15 +00:00
} else if ( url.indexOf( "comment-page-" ) > 0 || url.indexOf( "cpage=" ) > 0 ) {
2014-02-05 12:40:15 +00:00
$( 'ul.tabs li.reviews_tab a', $( this ) ).click();
2014-02-05 12:40:15 +00:00
} else {
$( 'ul.tabs li:first a', tabs ).click();
2014-02-05 12:40:15 +00:00
}
});
2012-12-10 13:11:05 +00:00
$( 'a.woocommerce-review-link' ).click( function() {
$( '.reviews_tab a' ).click();
return true;
});
// Star ratings for comments
$( '#rating' ).hide().before( '<p class="stars"><span><a class="star-1" href="#">1</a><a class="star-2" href="#">2</a><a class="star-3" href="#">3</a><a class="star-4" href="#">4</a><a class="star-5" href="#">5</a></span></p>' );
2012-12-10 13:11:05 +00:00
$( 'body' )
.on( 'click', '#respond p.stars a', function() {
var $star = $( this ),
$rating = $( this ).closest( '#respond' ).find( '#rating' );
2012-12-10 13:11:05 +00:00
2013-02-11 15:37:26 +00:00
$rating.val( $star.text() );
$star.siblings( 'a' ).removeClass( 'active' );
$star.addClass( 'active' );
2012-12-10 13:11:05 +00:00
return false;
2013-02-11 15:37:26 +00:00
})
.on( 'click', '#respond #submit', function() {
var $rating = $( this ).closest( '#respond' ).find( '#rating' ),
rating = $rating.val();
if ( $rating.size() > 0 && ! rating && wc_single_product_params.review_rating_required === 'yes' ) {
alert( wc_single_product_params.i18n_required_rating_text );
2013-02-11 15:37:26 +00:00
return false;
}
});
2012-12-10 13:11:05 +00:00
// prevent double form submission
$( 'form.cart' ).submit( function() {
$( this ).find( ':submit' ).attr( 'disabled','disabled' );
});
});