2010-07-17 6 views
1

저는 JQuery (및 일반적으로 javascript)에서 완전 초보자입니다. 그러나 이것에 대해 알아 보겠습니다.JQuery UI를 부분적으로 작동시키는 방법은 무엇입니까?

간단한 설정 : 레이아웃에는 http://jqueryui.com/demos/tabs/default.html과 같은 단순한 JQuery 탭이 포함 된보기가 포함되어 있습니다. 내 new.html.haml보기에서 다음 HAML

%head 
    = javascript_include_tag "jquery", "ui/jquery.ui.core", "ui/jquery.ui.widget", "ui/jquery.ui.tabs" 
    = stylesheet_link_tag "global", "profiles", "forms", "smoothness/jquery-ui-1.8.2.custom", :cache => true 
    :javascript 
    $(function() { 
     $("#tabs").tabs(); 
    }); 

한 :

#tabs{:class=>"ui-tabs ui-widget ui-widget-content ui-corner-all"} 
    %ul{:class=>"ui-tabs-nav ui-helper-reset ui-helper-clearfix ui-widget-header ui-corner-all"} 
    %li 
     %a{:href => "#tabs-1"} 
     %div{:class=>"ui-tabs-panel ui-widget-content ui-corner-bottom"} New User 
    %li 
     %a{:href => "#tabs-2"} 
     %div{:class=>"ui-tabs-panel ui-widget-content ui-corner-bottom"} Existing User 
    #tabs-1 
    I am a new user 
    #tabs-2 
    I am an existing user 

참고 :이 코드가 완벽하게 작동입니다

내가 레이아웃 머리에 다음과 같은 HAML 한

레이아웃의 모든. 그러나 레이아웃의 두 번째 코드를 내보기로 이동하면 작동이 멈 춥니 다.

나는 뷰가 외형이지만 기능적으로 레이아웃과 동일하다고 생각했습니다. 이 탭이 제대로 작동하려면 정확히 무엇을해야합니까? 고맙습니다!

+0

왜 질문 제목에 부분적으로 언급하나요? 질문에 언급 된 내용이 없습니까? –

+0

Sam, 혼란스럽게 생각합니다 ... 자바 스크립트를 별도의 레이아웃 파일에 두는 것과는 대조적으로 모든 코드를 하나의 뷰에서 구별하는 것을 의미했습니다. – sscirrus

답변

0

차이가 없어야합니다. 두 번째 블록의 정확한 내용을 = yield으로 바꿔야합니다. 두 시나리오에서 생성 된 HTML을 확인하십시오. 두 번째 블록을보기로 이동하면 공백 만 달라야합니다.

관련 문제