jQuery实现侧边栏随窗口滚动,WordPress主题侧边栏随窗口滚动

  • 1
  • 14,158 views

弄个侧边栏某个模块随窗口一起滚动,可能其他童鞋也想给主题加上这个小功能,贴出来,供大家参考。

方法一:

很简单,前提是你的主题必须已加载了jQuery。

把下面代码加到主题头部header.php模版中即可:

  1. <script type="text/javascript">
  2. $(function() {
  3.     var $sidebar   = $("#sidebar"),
  4.         $window    = $(window),
  5.         offset     = $sidebar.offset(),
  6.         topPadding = 15;
  7.     $window.scroll(function() {
  8.         if ($window.scrollTop() > offset.top) {
  9.             $sidebar.stop().animate({
  10.                 marginTop: $window.scrollTop() - offset.top + topPadding
  11.             });
  12.         } else {
  13.             $sidebar.stop().animate({
  14.                 marginTop: 0
  15.             });
  16.         }
  17.     });
  18. });
  19. </script>

可根据不同的主题模版,自行修改一下其中的DIV标签#sidebar名称。此方法兼容所有浏览器。

演示效果

HotNews主题也可使用该功能,默认是整个侧边栏随窗口滚动,受主题布局功能限制,单独滚动某个模块效果不是很理想。

参考自:http://css-tricks.com/scrollfollow-sidebar/


WordPress主题侧边栏随窗口滚动,貌似这个特效目前很流行,上面的内容是《jQuery实现侧边栏随窗口滚动》的教程,不过有童鞋发现加上这个JS特效后,侧边栏会顶着页脚无限滚下去,那就再发一个比较完美的,上代码:

  1. <script type="text/javascript">
  2. var documentHeight = 0;
  3. var topPadding = 15;
  4. $(function() {
  5.     var offset = $("#sidebar").offset();
  6.     documentHeight = $(document).height();
  7.     $(window).scroll(function() {
  8.         var sideBarHeight = $("#sidebar").height();
  9.         if ($(window).scrollTop() > offset.top) {
  10.             var newPosition = ($(window).scrollTop() - offset.top) + topPadding;
  11.             var maxPosition = documentHeight - (sideBarHeight + 368);
  12.             if (newPosition > maxPosition) {
  13.                 newPosition = maxPosition;
  14.             }
  15.             $("#sidebar").stop().animate({
  16.                 marginTop: newPosition
  17.             });
  18.         } else {
  19.             $("#sidebar").stop().animate({
  20.                 marginTop: 0
  21.             });
  22.         };
  23.     });
  24. });
  25. </script>

将上述javascript代码加到主题头部header.php模版中。

修改其中的“#sidebar”为你的主题侧边选择器名称(id);例如:#categories-2,categories-2为ID。

根据不同的主题头部模版高度,适当调整其中的数字“368”(默认数字为HotNews主题的)。

个人认为,网页加上这个特效后,侧边模块在眼前晃晃悠悠的,并不是很舒服,适合内容较少的侧边栏或者侧边最下面的固定模块比如广告滚动。萝卜青菜各有所爱,大家接着折腾吧。

米粒在线
  • 本文由 发表于 2013年2月12日12:56:34
  • 转载请务必保留本文链接:https://www.miliol.org/3720.html
科技

挑战手机抗冻极限 华为Mate 10 Pro竟然征服了南极

按照我国节气来说现在正处在数九寒天中最冷的一段日子里,随便翻阅天气预报,全国各地大多数地区都在飘散着漫天的雪花,零下好几度的光景也成为了很多地区人与手机之间无法躲避的问题。尤其是北方用户,若是出门用手...
科技

微信封杀!MIUI下线自动记账功能

小米在MIUI 9中加入了一个“微信自动记账”的新功能,可以自动聚合微信、支付宝、短信等平台的账单信息,免去手动记账的麻烦。 不过最近有不少网友发现,该功能已经无法正常使用,不能采集微信中的支付...
科技

努比亚Z17正式开启安卓8.1内测:紧跟升级

去年12月份,谷歌公布了安卓各版本数据份额,据统计安卓8.0仅占安卓系统的0.5%,不过这也给目前的手机厂商打了一剂鸡血,都在紧赶着给自家手机升级安卓8.0系统。 今天,努比亚官方就在论坛开启了...
匿名

发表评论

匿名网友 填写信息

:?: :razz: :sad: :evil: :!: :smile: :oops: :grin: :eek: :shock: :???: :cool: :lol: :mad: :twisted: :roll: :wink: :idea: :arrow: :neutral: :cry: :mrgreen:

评论:1   其中:访客  1   博主  0
    • InBi InBi 1

      写的很好,让我学习到了!
      希望主人多写一些技术类的文档。