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

+0

대답을 수정 해 주셨습니다. – karim79

+0

나는로드의 콜백 함수에서 fadeIn 부분을 제대로 실행해야한다고 생각한다. 어떻게되는지 알 수있다. – karim79

관련 문제