资讯专栏INFORMATION COLUMN

jQuery写的文章内容页右侧浮动滚动

MorePainMoreGain / 3070人阅读

摘要:很久前写的代码,种模式,现在发出来与大家分享,其实这块的思路还有需要些优化,望大家来优化探讨左右侧滚动左右两边高度不确定,获取左右两边高度,左侧高于右侧,则右侧浮动,否则,左侧滚动左侧滚动明确右边高于左侧,则左侧浮

很久前写的代码,3种模式,现在发出来与大家分享,其实这块的思路还有需要些优化,望大家来优化探讨

// 左右侧滚动 (左右两边DIV高度不确定,获取左右两边DIV高度,左侧高于右侧,则右侧浮动,否则,左侧滚动)
function HomeScroll(a,b){if((navigator.userAgent.match(/(iPhone|iPad|iPod|Android|ios)/i))){return}var c=$(a),d=$(b);if(c.length>0&&d.length>0){function g(){var g=$(window).scrollLeft(),h=$(window).scrollTop(),i=$(document).height(),j=$(window).height(),k=c.height(),l=d.height(),e=d.offset().top,f=c.offset().top,m=k>l?f:e,n=k>l?d:c,o=k>l?c.offset().left+c.outerWidth(!0)-g:d.offset().left-c.outerWidth(!0)-g,p=k>l?l:k,q=k>l?k:l,r=parseInt(q-j)-parseInt(p-j);$(a+","+b).removeAttr("style"),j>i||p>q||m>h||p-j+m>=h?n.removeAttr("style"):j>p&&h-m>=r||p>j&&h-m>=q-j?n.attr("style","margin-top:"+r+"px;"):n.attr("style","_margin-top:"+(h-m)+"px;position:fixed;left:"+o+"px;"+(j>p?"top":"bottom")+":0;")}$(window).resize(g).scroll(g).trigger("resize")}}

// 左侧滚动 (明确右边DIV高于左侧,则左侧浮动)
function HomeScrollL(a,d){if((navigator.userAgent.match(/(iPhone|iPad|iPod|Android|ios)/i))){return}var e=$(a),c=$(d);if(e.length>0&&c.length>0){function f(){var m=$(window).scrollLeft(),n=$(window).scrollTop(),k=$(document).height(),h=$(window).height(),g=e.height(),j=c.height(),b=c.offset().top,l=c.offset().left-e.outerWidth(!0)-m,i=parseInt(j-h)-parseInt(g-h);if(kj||ng&&(n-b)>=i||h=(j-h)){e.attr("style","margin-top:"+i+"px;")}else{e.attr("style","_margin-top:"+(n-b)+"px;position:fixed;left:"+l+"px;"+(h>g?"top":"bottom")+":0;")}}}$(window).resize(f).scroll(f).trigger("resize")}};

// 右侧滚动 (明确左侧DIV高于右侧,则右侧浮动)
function HomeScrollR(a,d){if((navigator.userAgent.match(/(iPhone|iPad|iPod|Android|ios)/i))){return}var e=$(a),c=$(d);if(e.length>0&&c.length>0){function f(){var m=$(window).scrollLeft(),n=$(window).scrollTop(),k=$(document).height(),h=$(window).height(),g=e.height(),j=c.height(),b=e.offset().top,l=e.offset().left+e.outerWidth(!0)-m,i=parseInt(g-h)-parseInt(j-h);if(kg||nj&&(n-b)>=i||h=(g-h)){c.attr("style","margin-top:"+i+"px;")}else{c.attr("style","_margin-top:"+(n-b)+"px;position:fixed;left:"+l+"px;"+(h>j?"top":"bottom")+":0;")}}}$(window).resize(f).scroll(f).trigger("resize")}};

左右侧滚动调用:HomeScroll(“Mid_L”,"Mid_R")
左侧滚动调用:HomeScrollL(“Mid_L”,"Mid_R")
右侧滚动调用:HomeScrollR(“Mid_L”,"Mid_R")
js中做了特殊情况处理,比如ipad平板,浮动会有问题,直接就不浮动了,里面有为了更好的兼容IE6等,使用了margin-top方式,如果不考虑IE9以下浏览器,这代码还可以精简,写起来更简单明了

文章版权归作者所有,未经允许请勿转载,若此文章存在违规行为,您可以联系管理员删除。

转载请注明本文地址:https://www.ucloud.cn/yun/101262.html

相关文章

  • Django搭建个人博客:回到顶部浮动按钮、矢量图标、脚沉底和粘性侧边栏

    摘要:本章集中介绍四个重要的小功能回到顶部浮动按钮矢量图标页脚沉底和粘性侧边栏。因为我们想在全站都拥有这个按钮,所以将刚写好的模块引用到中在后面引入注意模块用到了,因此要在后面引入。 本章集中介绍四个重要的小功能:回到顶部浮动按钮、矢量图标、页脚沉底和粘性侧边栏。 这几个功能与Django基本没啥关系,更多的是前端知识,但是对博客网站都很重要,问的读者也比较多,因此也集中讲一下好了。 回到顶...

    lovXin 评论0 收藏0
  • CSS规范 > 9 视觉格式化模型 Visual Formatting Model

    摘要:盒的类型会影响其在视觉格式化模型中的表现。浮动元素绝对定位元素根元素都被称为脱离文档流其他元素被称为文档流内。 视觉格式化模型 Visual Formatting Model URL:http://www.w3.org/TR/CSS2/visuren.html Translator: HaoyCn Date: 14th of Aug, 2015 本文并未全部翻译,译者在原文基础上...

    魏宪会 评论0 收藏0
  • 总结开发过程踩到的坑(二)

    摘要:本文章旨在总结开发过程中碰到的容易忘记或者比较重要的坑,一方面加深自己对于该部分的理解,另一方面希望能够分享给大家,知识在于分享,当然踩过的坑也不例外滑稽。 在日常工作中,时常会碰到各种各样的坑,有时真的觉得很多时候开发的经验都是踩坑踩出来的。在通往大牛的道路上,希望自己能够跨越重重阻碍,越走越远。学会时常总结,不断提升自己。 本文章旨在总结开发过程中碰到的容易忘记或者比较重要的...

    laznrbfe 评论0 收藏0
  • 深入css布局 (2) — 定位与浮动

    摘要:深入布局定位与浮动在知识体系中,除了选择器,样式属性等基础知识外,布局相关的知识才是比较核心和重要的点。定位后,原来在文档流中占据的位置,会被其他元素所占据。清除浮动的特殊应用清除浮动可以解决父元素高度塌陷问题。  深入css布局(2) — 定位与浮动        在css知识体系中,除了css选择器,样式属性等基础知识外,css布局相关的知识才是css比较核心和重要的点。今天我们来深...

    Crazy_Coder 评论0 收藏0

发表评论

0条评论

最新活动
阅读需要支付1元查看
<