2012-05-14 3 views
1

JQuery와 : 사업부와 버튼에 대해 서로 다른 ID로 내 사이트에 이러한 기능의 여러 사용이,이fadeIn fadeOut에 대한 일반화 된 함수는 무엇입니까?

$(document).ready(function() { 
    $('#myfirstDiv').click(function() { 
     $('#seconDiv').fadeIn("fast"); 
    }); 
    $('#closeBtn').click(function() { 
     $('#seconDiv').fadeOut("fast"); 
    }); 
}); 

.
어떻게 모든 Div 및 단추에 대해 이러한 기능을 일반화 할 수 있습니까?

+1

원하는 기능에 대한 호출을 래핑하고 사용하는 사용자 정의 jQuery 플러그인을 만듭니다. – asawyer

+0

클래스 선택기 사용 –

+0

마크 업은 어떻게 생겼습니까? – PeeHaa

답변

3

가에 걸리는 플러그인의를 제 DIV 및 버튼을 닫으려면

(function($) { 
    $.fn.extend({ 
     FadeInOut: function(divTwo, closeBtn) { 
      return this.each(function() { 
       $(this).click(function() { 
        $(divTwo).fadeIn("fast"); 
       }); 
       $(closeBtn).click(function() { 
        $(divTwo).fadeOut("fast"); 
       }); 
      }); 
     } 
    }); 
})(jQuery); 

DEMO

+2

+1 이것은 또한 아주 좋습니다 –

3
  1. div 버튼에 속성
  2. 사용자 정의 만들기 div 버튼에 data-action을 사용자 지정 특성 data-target 만들기 페이딩 사업부
  3. 을위한 클래스를 정의 버튼 DIV
  4. 을위한 클래스를 정의
  5. jQuery가 모든 버튼 div 요소 (클래스로 선택)를 찾고 해당 작업 (show/fadeIn 또는 hide/fadeOut)에 따라 타겟에 연결합니다.

이렇게하면 jQuery가 올바르게 설정되어 있으면 jQuery가 몇 개의 버튼이나 div에 관계없이 "자동으로"링크됩니다.

죄송합니다. 지금은 코드가 없습니다.하지만이 방법이 효과적입니다.

업데이트

일부 링크는이 방법을 달성하는 데 도움이 :

+2

+1, 그건 좋은 생각입니다. –

+1

좋은 아이디어 덕분에 – khurram

0

내가 찾은 해결책이 fadeIn 및 페이드 아웃 기능을 일반화.
Example


는 다른 어떤 도움이 될 수 있습니다 볼 수 있습니다.

관련 문제