月光博客 » 编程开发 » JavaScript仿淘宝智能浮动

JavaScript仿淘宝智能浮动

  我们经常在淘宝网看到这样的特效,商品列表特别长,而商品列名称始终保持在最顶端。如果你把滚动条滚动至最上边了,那么它会自动判断是否到顶端了,然后一直置顶从而不怕遮挡。

  这种特效是通过JavaScript和CSS实现的,在实际开发中有不少用途,下面是我找到的一个使用JavaScript制作的仿淘宝智能浮动的源代码,兼容性不错,在IE、Firefox、Chrome下都能正常工作。

  在Z-Blog中使用这个特效代码需要注意,如果在侧边栏使用,则需要注意,侧栏中的栏目不能使用JavaScript动态加载,必须用静态的格式,否则在JavaScript会错误的计算页面高度,上下滚动的时候会出现错位现象。

JavaScript仿淘宝智能浮动

  以下是相关代码:

  JavaScript 代码

(function(){
    var oDiv=document.getElementById("float");
    var H=0,iE6;
    var Y=oDiv;
    while(Y){H+=Y.offsetTop;Y=Y.offsetParent};
    iE6=window.ActiveXObject&&!window.XMLHttpRequest;
    if(!iE6){
        window.onscroll=function()
        {
            var s=document.body.scrollTop||document.documentElement.scrollTop;
            if(s>H){oDiv.className="div1 div2";if(iE6){oDiv.style.top=(s-H)+"px";}}
            else{oDiv.className="div1";}   
        };
    }
})();

  HTML 代码

<div id="box">
    <div id="float" class="div1">
        //随滚动移动的部分代码
    </div>
</div>

  CSS 代码

#box{float:left;position:relative;width:295px;}
.div1{}
.div2{position:fixed;_position:absolute;top:3px;z-index:295;}

顶一下 ▲()   踩一下 ▼()

相关文章

  1. 1
    聊IT评论网   说道:
    “下面是我找到的一个使用JavaScript制作的仿淘宝智能浮动的源代码”
    却没有贴代码出处
    williamlong 于 2011-10-27 10:18:26 回复
    代码从糗百的页面里抠出来的,具体出处不详。
    支持(21反对(14回复
  1. 2
    湖北网   说道:
    谢谢分享 学到很多
    山鹰博客 于 2011-10-27 9:24:27 回复
    谢谢分享 学到很多
    支持(16反对(12回复
  1. 3
    金多虾   说道:
    感觉淘宝做的也不是特别的好看.
    支持(16反对(12回复
  1. 4
    阿龙   说道:
    弱弱的问一下,请问JS代码 怎么用? 我挂上不好使,希望知道的能告诉一下,谢谢。 411161555 @ qq . com
    支持(12反对(8回复
  1. 5
    gleaner   说道:
    谢谢分享!这个很实用啊~!
    支持(14反对(11回复
  1. 6
    robertsky   说道:
    月光还发技术代码,呵呵
    支持(15反对(12回复
  1. 7
    天骄之弓   说道:
    谢谢分享 天骄之弓 户外射箭用品 射击用品专卖 在线咨询QQ37225258
    支持(3反对(1回复
  1. 8
    黄瓜不止是菜   说道:
    收藏了,指不定哪天用得到。
    谢谢月光博主分享。
    支持(14反对(13回复
  1. 9
    敏敏知音   说道:
    指不定哪天用得到。谢谢分享。
    支持(14反对(13回复
  1. 10
    GM基地   说道:
    学习一下吧,路过的说
    支持(9反对(8回复
  1. 11
    lost   说道:
    哈哈, 学习了,以后多整些技术代码吧
    支持(13反对(13回复
  1. 12
    qili168   说道:
    这个好....
    支持(13反对(13回复
  1. 13
    Sunsine   说道:
    网站有很长时间不用特效了
    支持(15反对(15回复
  1. 14
    家易居   说道:
    学习一下。非常感谢
    支持(12反对(13回复
  1. 15
    golbz   说道:
    不支持IE6 并且 那是js代码 不是jQuery代码
    支持(12反对(13回复
  1. 16
    李东健   说道:
    很详细的技术贴哈
    支持(13反对(14回复
  1. 17
    缪鹏博客   说道:
    干货分享~~~~~~~~~~~~
    支持(12反对(13回复
  1. 18
    零度记忆   说道:
    这个功能不错。
    支持(9反对(10回复
  1. 19
    CzBiX   说道:
    JS是压缩过的,虽然变量不多,看着很别扭
    支持(13反对(14回复
  1. 20
    laohe   说道:
    呵呵 ,这个效果完全可以使用css实现,且兼容各种浏览器的。
    支持(9反对(10回复
  1. 21
    天涯海角   说道:
    谢谢分享 学习了
    支持(10反对(12回复
  1. 22
    ra1n   说道:
    不考虑IE6的话不用JS。
    直接css搞定。
    支持(13反对(15回复
  1. 23
    wfb927   说道:
    博主测试了没有啊
    支持(8反对(11回复
  1. 24
    bird   说道:
    支持技术!谢谢分享啊!
    支持(12反对(15回复
  1. 25
    笃行天下   说道:
    最近这个好像很流行。

    gmail的工具条、QQ空间日志编辑框工具条都是这样
    支持(11反对(14回复
  1. 26
    toki   说道:
    什么烂代码啊,一看就知道其前端编程水平很低了!
    不会缩略写法,变量名称乱七八糟,代码结构混乱,没有兼容的概念...而且最搞笑的是居然用ActiveXObject来判断是否IE6...

    这种代码的水平请不要投稿出来献丑了!
    支持(12反对(15回复
  1. 27
    百透网   说道:
    看月光博客,确实学习了不少东西,由衷感谢!
    支持(9反对(12回复
  1. 28
    山鹰博客   说道:
    谢谢分享 学到很多
    支持(18反对(22回复
  1. 29
    没看见   说道:
    定位有可取之处。顶下
    支持(10反对(14回复
  1. 30
    vinzai   说道:
    Thanks William , I am from Malaysia as well :P, are you in Shen Zhen?呵
    支持(8反对(12回复
  1. 31
    玉麒麟博客   说道:
    干货分享~~~~~
    支持(7反对(11回复
  1. 32
    阿龙   说道:
    IE6 用不了啊。。。。。 崩溃。。。
    支持(11反对(17回复
  1. 33
    博客起飞点   说道:
    纠结中!!!
    支持(10反对(17回复

发表留言