2009-05-23 7 views
1

私は2つの別々の(しかし同様の)ビットの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を受け取る送信する必要があります。このようにすると、ajaxが正しくロードされる前に要素がフェードインします。 – Plasticated

+0

答えを修正しました。 – karim79

+0

私はfadeIn部分をロードのコールバック関数で正しく実行する必要があると思いますが、それがどうなっているか教えてください – karim79

関連する問題