2009-05-23 80 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