2013-07-26 35 views
1

ShareThis是一个社交分享小部件的网站,其中一个'侧边栏'每说是在页面的边缘创建,当点击它滚动并显示共享选项菜单。我需要找到一个jQuery插件或一个JavaScript,可以让我嘲笑这个功能。粘弹出边栏喜欢ShareThis

我想要做的一个例子可以在这里找到:http://support.sharethis.com/customer/portal/articles/475260#sthash.iBn1ZGqT.dpbs在页面的最左边。

有谁知道一个jQuery插件,可以让我用我选择的div做到这一点?当然,我必须自己添加一些样式,但是启动库/脚本/插件将会有所帮助。

编辑:我做了一个自定义js解决方案,但现在我想再次单击时关闭元素。下面是我的JS打开点击元素:

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

回答

1

你可以用直线css来做到这一点。根据这篇文章在这里: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); 
     } 

    }); 
});