Jumpy Tweet Button&像按钮 - 隐藏直到满载?

时间:2013-04-15 01:02:17

标签: javascript jquery html facebook twitter

http://screencast.com/t/qDxr1p7bFp

社交按钮一直跳到满负荷。

此影片剪辑显示社交按钮加载时的跳跃行为。这种情况发生在Chrome,Firefox和IE上,最新版本。通过bootstrap-sass gem使用Twitter bootstrap css。

无论如何都要隐藏它们直到它们完成加载?

<div class="social-bar">
 <div class="container">
   <ul class="social-buttons">
        <li class="fb-button">
            <fb:like send="false" layout="button_count" width="450" show_faces="false"></fb:like>
        </li>
        <li class="tw-button">
            <a href="https://twitter.com/share" class="twitter-share-button" data-via="adtechkyushu" data-hashtags="adtech9" data-dnt="true">Tweet</a>
        </li>
   </ul>
  </div>
</div> 

<script src="http://code.jquery.com/jquery-latest.js"></script>
<script src="http://netdna.bootstrapcdn.com/twitter-bootstrap/2.1.1/js/bootstrap.min.js" type="text/javascript"></script>
<script src="http://connect.facebook.net/en_GB/all.js#xfbml=1"></script>
<script>!function(d,s,id){var js,fjs=d.getElementsByTagName(s)[0];if(!d.getElementById(id)){js=d.createElement(s);js.id=id;js.src="//platform.twitter.com/widgets.js";fjs.parentNode.insertBefore(js,fjs);}}(document,"script","twitter-wjs");</script>

1 个答案:

答案 0 :(得分:0)

尝试将它们隐藏在CSS中,(.social-buttons { opacity: 0; }),然后添加:

$(document).load(function() {
    $(".social-buttons").css("opacity", "1");
});

它会等待,直到所有元素都会加载并再次显示社交按钮。您也可以尝试在CSS中使用display: none;和在jQuery中使用show(),但第二种方法可能会导致您的页面布局在执行函数后发生更改。