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>
答案 0 :(得分:0)
尝试将它们隐藏在CSS中,(.social-buttons { opacity: 0; }
),然后添加:
$(document).load(function() {
$(".social-buttons").css("opacity", "1");
});
它会等待,直到所有元素都会加载并再次显示社交按钮。您也可以尝试在CSS中使用display: none;
和在jQuery中使用show()
,但第二种方法可能会导致您的页面布局在执行函数后发生更改。