2009-05-23 79 views
1

我有兩個獨立(但相似)的jQuery代碼位。他們都工作,但互相干擾。我如何正確格式化這些功能是唯一的,並阻止它們相互影響。如何阻止jQuery函數互相干擾?

碼塊1:

$('#share-email').click(function(e) { 
     e.preventDefault(); 
     $("#socialbox-" + $(this).attr('rel')).load('<?php echo site_url();?>club/sendtofriend/' + $(this).attr('rel')); 
    return false; 
    }); 
    $().ajaxSend(function(r,s){ 
     $(".social-share-container").fadeOut('fast'); 
    }); 
    $().ajaxStop(function(r,s){ 
     $(".social-share-container").fadeIn('fast'); 
    }); 

碼塊2:

$('.djlink').click(function(e) { 
     e.preventDefault(); 
     $("#djinfo").load($(this).attr('href'), Cufon.refresh); 
    return false; 
    }); 
    $().ajaxSend(function(r,s){ 
     $("#djinfo").fadeOut('fast'); 
    }); 
    $().ajaxStop(function(r,s){ 
     $("#djinfo").fadeIn('fast'); 
    }); 

,似乎是重疊的代碼的部分是AJAX發送/停止部。

回答

3

如果我猜中你想要做的事情,這樣的事情應該解決這個問題:

$('#share-email').click(function(e) { 
     e.preventDefault(); 
     $("#socialbox-" + $(this).attr('rel')).fadeOut('fast').load('<?php echo site_url();?>club/sendtofriend/' + $(this).attr('rel'), function() { 
      $(this).fadeIn('fast') 
     }); 
     return false; 
    }); 


    $('.djlink').click(function(e) { 
     e.preventDefault(); 
     $("#djinfo").fadeOut('fast').load($(this).attr('href'), function() { 
      Cufon.refresh(); 
      $(this).fadeIn('fast'); 
     }); 
     return false; 
    }); 
+0

這確實影響了正確的元素,但我確實需要發送正確地接收到阿賈克斯。這樣做會在ajax正確加載之前淡入元素。 – Plasticated 2009-05-23 12:23:05