variation image optimisations

This commit is contained in:
Mike Jolley 2012-07-11 23:56:57 +01:00
parent 78de8db237
commit 638b04b0ad
2 changed files with 15 additions and 10 deletions

View File

@ -438,9 +438,10 @@ jQuery(document).ready(function($) {
} }
//when one of attributes is changed - check everything to show only valid options //when one of attributes is changed - check everything to show only valid options
function check_variations( exclude ) { function check_variations( exclude, focus ) {
var all_set = true; var all_set = true;
var any_set = false; var any_set = false;
var showing_variation = false;
var current_settings = {}; var current_settings = {};
$('.variations select').each(function(){ $('.variations select').each(function(){
@ -473,7 +474,7 @@ jQuery(document).ready(function($) {
var matching_variations = find_matching_variations(current_settings); var matching_variations = find_matching_variations(current_settings);
if(all_set) { if (all_set) {
var variation = matching_variations.pop(); var variation = matching_variations.pop();
if (variation) { if (variation) {
$('form input[name=variation_id]').val(variation.variation_id).change(); $('form input[name=variation_id]').val(variation.variation_id).change();
@ -481,21 +482,22 @@ jQuery(document).ready(function($) {
} else { } else {
// Nothing found - reset fields // Nothing found - reset fields
$('.variations select').val(''); $('.variations select').val('');
if ( ! focus ) reset_variation_image();
} }
} else { } else {
update_variation_values(matching_variations); update_variation_values(matching_variations);
if ( ! focus ) reset_variation_image();
} }
if(any_set) { if (any_set) {
if ($('.reset_variations').css('visibility') == 'hidden') $('.reset_variations').css('visibility','visible').hide().fadeIn(); if ($('.reset_variations').css('visibility') == 'hidden') $('.reset_variations').css('visibility','visible').hide().fadeIn();
} else { } else {
$('.reset_variations').css('visibility','hidden'); $('.reset_variations').css('visibility','hidden');
} }
} }
$('.variations select').change(function(){ function reset_variation_image() {
// Reset image
// Reset image
var img = $('div.images img:eq(0)'); var img = $('div.images img:eq(0)');
var link = $('div.images a.zoom:eq(0)'); var link = $('div.images a.zoom:eq(0)');
var o_src = $(img).attr('data-o_src'); var o_src = $(img).attr('data-o_src');
@ -505,11 +507,14 @@ jQuery(document).ready(function($) {
$(img).attr('src', o_src); $(img).attr('src', o_src);
$(link).attr('href', o_href); $(link).attr('href', o_href);
} }
}
$('.variations select').change(function(){
$('form input[name=variation_id]').val('').change(); $('form input[name=variation_id]').val('').change();
$('.single_variation_wrap').hide(); $('.single_variation_wrap').hide();
$('.single_variation').text(''); $('.single_variation').text('');
check_variations(); check_variations( '', false );
$(this).blur(); $(this).blur();
if( $().uniform && $.isFunction($.uniform.update) ) { if( $().uniform && $.isFunction($.uniform.update) ) {
$.uniform.update(); $.uniform.update();
@ -517,7 +522,7 @@ jQuery(document).ready(function($) {
}).bind( 'focusin', function() { }).bind( 'focusin', function() {
check_variations( $(this).attr('name') ); check_variations( $(this).attr('name'), true );
}).change(); }).change();

File diff suppressed because one or more lines are too long