2012-10-24 66 views
0

我寫了一個jQuery代碼彈出,但問題是我想優化jquery代碼你可以告訴我如何優化它在瀏覽器中有更好的結果..優化jquery,html和css代碼彈出

如果妳告訴了HTML和CSS也將是巨大的....

我提供以下jQuery代碼....

// locale selector actions 
    $('#region-picker').click(function(){ 
     if ($("#locale-select").is(":visible")) return closeSelector('slide'); 
     var foot_height = $('#footer').innerHeight(); 
     var foot_height_css = foot_height-1; 
     var select_position = '-=' + (Number(700)+18); 
     console.log("hallo"+select_position); 
     var $selector = $('#locale-select'); 
     $('#locale_pop').fadeOut(); 
     $selector.css({top:foot_height_css}); 
     $selector.fadeIn(function(){ 
      $(this).addClass('open'); 
      $(this).animate({top:select_position}, 1000); 
      }); 
    }); 
    $('#select-tab').click(function(e){ 
     e.stopPropagation() 
     closeSelector('slide'); 
     }); 
    // don't hide when clicked within the box 
    $('#locale-select').click(function(e){ 
     e.stopPropagation(); 
    }); 
    $(document).click(function(){ 
     if ($('#locale-select').hasClass('open')) { 
      closeSelector('disappear'); 
     } 
    }); 

    $('.locale-link').click(function(){ 
     //var $clicked = $(this); //"$(this)" and "this" is the clicked span 
     $(".locale-select-lable").html($(this).html()); 
     //search for "marginXXXXX" 
     var flags = $(this).attr("class").match(/(margin\w+)\s/g); 
     //create new class; add matching value if found 
     var flagClass = "tk-museo-sans locale-select-lable" + (flags.length ? " " + flags[0] : ""); 
     //set new class definition 
     $(".locale-select-lable").attr("class", flagClass); 

     closeSelector('disappear'); 

     //if ($("#locale-select").is(":visible")) return closeSelector('slide'); 
     /*   
     // var desired_locale = $(this).attr('rel'); 
     // createCookie('desired-locale',desired_locale,360); 
     // createCookie('buy_flow_locale',desired_locale,360); 
     //closeSelector('disappear'); 
     */ 
    }); /* CORRECTED */ 

    $('#locale_pop a.close').click(function(){ 
     var show_blip_count = readCookie('show_blip_count'); 
     if (!show_blip_count) { 
      createCookie('show_blip_count',3,360); 
     } 
     else if (show_blip_count < 3) { 
      eraseCookie('show_blip_count'); 
      createCookie('show_blip_count',3,360); 
     } 
     $('#locale_pop').slideUp(); 
     return false; 
    }); 

function closeSelector(hide_type){ 
var foot_height = $('#footer').innerHeight(); 
var select_position = '+=' + (Number(400)+20); 
if (hide_type == 'slide') { 
$('#locale-select').animate({top:select_position}, 1000, function(){ 
$(this).removeClass('open'); 
$(this).fadeOut() 
}); 
} 
else if (hide_type == 'disappear'){ 
$('#locale-select').fadeOut('fast'); 
$('#locale-select').removeClass('open'); 
} 
} 

+1

運行Firebug JS分析器並找到瓶頸... –

+0

儘量避免使用類並堅持使用ID。 – Ryan

+0

你可能在http://codereview.stackexchange.com/上運氣更好 –

回答