2013-07-26 4 views
1

ShareThis는 페이지의 가장 자리에 '사이드 바'가 만들어지고 클릭 할 때 스크롤 아웃하여 공유 옵션 메뉴를 표시하는 소셜 공유 위젯입니다. jQuery 플러그인이나 javascript를 찾아야이 기능을 조롱 할 수 있습니다.스티키 플라이 아웃 사이드 바 ShareThis

내가하려는 일의 예는 페이지의 맨 왼쪽에있는 http://support.sharethis.com/customer/portal/articles/475260#sthash.iBn1ZGqT.dpbs입니다.

누구든지 내 선택 div와 함께 이것을 할 수있는 jQuery 플러그인을 알고 있습니까? 물론 내가 직접 스타일을 추가해야하지만 라이브러리/스크립트/플러그인을 시작하면 도움이 될 것입니다.

는 편집 : 나는 사용자 정의 JS 솔루션을 만들었습니다하지만 지금 다시 클릭하면 요소를 종료합니다. 당신이 바로 CSS를 사용하여이 작업을 수행 할 수

jQuery(function() { 
    jQuery('.contact-flyout').bind('click', function() { 
     jQuery('.contact-flyout-menu').animate({ marginRight: '0px'}, 500); 
     jQuery('.contact-flyout').animate({ marginRight: '150px'}, 500); 
    }); 
}); 

답변

1

: 아래를 클릭에 요소를 엽니 다 내 JS이다. 여기에이 문서를 기반으로 : http://dbushell.github.io/Responsive-Off-Canvas-Menu/step2.html

수정의 비트와 함께 당신이 이것을 달성 할 수있다 : http://jsfiddle.net/SrTH4/1/

<!-- I am collapsed by default --> 
<nav id="main-navigation" class="navigation"> 
    <a href="#">Nav Links</a> 
    <a href="#">Nav Links</a> 
    <a href="#">Nav Links</a> 
    <br><br> 
    <a href="#">Close</a> 
    <!-- more --> 
</nav> 

<!-- I am full width by default --> 
<div class="page-wrap"> 
    <header> 
    <a href="#main-navigation">Menu</a> 
    <h1>Title</h1> 

    <p>Stet clita kasd gubergren, no sea takimata sanctus est Lorem ipsum dolor sit amet. Lorem ipsum dolor sit amet.</p> 

    <p>Stet clita kasd gubergren, no sea takimata sanctus est Lorem ipsum dolor sit amet. Lorem ipsum dolor sit amet.</p> 

    <p>Stet clita kasd gubergren, no sea takimata sanctus est Lorem ipsum dolor sit amet. Lorem ipsum dolor sit amet.</p> 
    </header> 

    <!-- content --> 
</div> 

CSS :

.navigation { 
    background: #ccc; 
    width: 60px; 
    overflow: hidden; 
    position: fixed; 
    top: 200px; 
    left: -60px; 
    height: auto; 
    -webkit-transition: left 1s ease; 
    transition: left 1s ease; 
    z-index: 2; 
} 

.page-wrap { 
    width: 100%; 
    float: right; 
} 

.page-wrap a { 
    background: black; 
    color: white; 
    padding: 5px; 
    position: fixed; 
    top: 210px; 
    left: -10px; 
    text-decoration: none; 
    z-index: 1; 

    -webkit-transform:rotate(90deg); 
    transform:rotate(90deg); 
} 

#main-navigation:target { 
    left: 0; 
} 
+0

감사합니다. 모든 브라우저에서 호환 가능해야합니다. 내가 질문에 명시된 바와 같이 JS 솔루션을 찾고 있는데요. –

0

내가이 작업을 수행하는 사용자 정의 jQuery를 기능을 만들었습니다. 최종 결과는 다음과 같습니다.

jQuery(function() { 
    jQuery('.contact-flyout').bind('click', function() { 

     if(jQuery('.contact-flyout-menu').css('margin-right') == "-152px") { 
      jQuery('.contact-flyout-menu').animate({ marginRight: '0px'}, 500); 
      jQuery('.contact-flyout').animate({ marginRight: '150px'}, 500); 
     } else { 
      jQuery('.contact-flyout-menu').animate({ marginRight: '-152px'}, 500); 
      jQuery('.contact-flyout').animate({ marginRight: '0px'}, 500); 
     } 

    }); 
}); 
관련 문제