JS无法正常运行

时间:2013-04-12 03:24:29

标签: javascript jquery

我正在使用一个名为Sticky Floating Box的jQuery插件来拥有一个浮动的div,但是包含在另一个div中。它似乎工作,但它不会留在包含div。我查看了脚本demo page,但无法弄清楚我做错了什么。

这是JS初始化代码:

$(function() {
   jQuery('.addthis').stickyfloat('update',{ duration:0});
});

这是显示问题的jsFiddle

HTML和CSS下面:

<div class="header"> HEADER </div>
 <div class="container"> 
  <div class="addthis">
    <!-- AddThis Button BEGIN -->
      <div class="addthis_toolbox addthis_floating_style addthis_32x32_style">
            <a class="addthis_button_facebook"></a>
            <a class="addthis_button_twitter"></a>
            <a class="addthis_button_google_plusone_share"></a>
            <a class="addthis_button_pinterest_share"></a>
            <a class="addthis_button_compact"></a>
            <a class="addthis_button_email"></a>
      </div>
      <script type="text/javascript" src="//s7.addthis.com/js/300/addthis_widget.js#pubid=undefined"></script>
      <!-- AddThis Button END -->
  </div>
  <p>ICONS SHOULD STAY <BR> WITHIN THIS GRAY BOX<p>
</div>
<div class="footer"> SHOULD NOT GO BELOW THIS LINE</div> 

.header{
width:400px;
background: #F00;
height:100px;
margin:0 auto;
}
.container{
position:relative;
height:400px;
width:400px;
margin:0 auto;
background: #999;
}
.footer{
height:700px;
width:400px;
background: #F0F;
margin:0 auto;
}
.addthis{
position:absolute;
top:0;
left:-50px;
}   

1 个答案:

答案 0 :(得分:2)

我必须做三件事让jsFiddle正常工作:

页面准备就绪后需要调用

stickyfloat函数(并删除'update'部分)。

jQuery(document).ready(function() {
    jQuery('.addthis').stickyfloat({ duration:0});
});

添加以下css规则:

.addthis_floating_style
{
    position:inherit !important;
}

.addthis div提供明确的高度和宽度:

.addthis
{
    position:absolute;
    top:0;
    left:-50px;
    width :36px;
    height:222px;
}