jQuery实现侧边栏随窗口滚动
近日帮人作主题要求弄个侧边栏某个模块随窗口一起滚动,可能其他童鞋也想给主题加上这个小功能,贴出来,供大家参考。
方法一:
很简单,前提是你的主题必须已加载了jQuery。
把下面代码加到主题头部header.php模版中即可:
- <script type=“text/javascript”>
 - $(function() {
 - var $sidebar = $(“#sidebar”),
 - $window = $(window),
 - offset = $sidebar.offset(),
 - topPadding = 15;
 - $window.scroll(function() {
 - if ($window.scrollTop() > offset.top) {
 - $sidebar.stop().animate({
 - marginTop: $window.scrollTop() – offset.top + topPadding
 - });
 - } else {
 - $sidebar.stop().animate({
 - marginTop: 0
 - });
 - }
 - });
 - });
 - </script>
 
可根据不同的主题模版,自行修改一下其中的DIV标签#sidebar名称。此方法兼容所有浏览器。
演示效果
HotNews主题也可使用该功能,默认是整个侧边栏随窗口滚动,受主题布局功能限制,单独滚动某个模块效果不是很理想。
参考自:http://css-tricks.com/scrollfollow-sidebar/
方法二:
本人未试过,可以自行参阅:js页面滚动时层智能浮动定位实现
- $.fn.smartFloat = function() {
 - var position = function(element) {
 - var top = element.position().top, pos = element.css(“position”);
 - $(window).scroll(function() {
 - var scrolls = $(this).scrollTop();
 - if (scrolls > top) {
 - if (window.XMLHttpRequest) {
 - element.css({
 - position: “fixed”,
 - top: 0
 - });
 - } else {
 - element.css({
 - top: scrolls
 - });
 - }
 - }else {
 - element.css({
 - position: “absolute”,
 - top: top
 - });
 - }
 - });
 - };
 - return $(this).each(function() {
 - position($(this));
 - });
 - };
 - $(“#float”).smartFloat();
 
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。
                            
                            写给所有做网站的朋友的一封信
现在就开始执行“1+N”互联网推广和没有开始执行的人,一两天看不出任何区别; 一两个月看来差异也是微乎其微的;但在2-5年的长远时间来看的时候,你的高质量询盘不断增加,你的互联网资产已经建立完成,对手已经很难匹敌,现在你看到这段文字的时候就是最好的开始,现在就是最好的时候,马上开始“1+N”体系的整体互联网推广吧,我们和你一起,开创互联网大未来!
                            
                            
备案号: