青青子衿, 悠悠我心, 但为君故, 沉吟至今
« 使用微博客的一些好建议苹果iOS 5限制应用本地存储问题 »

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;}



  除非注明,月光博客文章均为原创,转载请以链接形式标明本文地址

  本文地址:http://www.williamlong.info/archives/2864.html
  • 文章排行:
  • 1.聊IT评论网
  • “下面是我找到的一个使用JavaScript制作的仿淘宝智能浮动的源代码”
    却没有贴代码出处
    williamlong 于 2011-10-27 10:18:26 回复
    代码从糗百的页面里抠出来的,具体出处不详。
  • 2011/10/27 9:24:05   支持(21)反对(14) 回复
  • 2.湖北网
  • 谢谢分享 学到很多
    山鹰博客 于 2011-10-27 9:24:27 回复
    谢谢分享 学到很多
  • 2011/10/27 9:13:38   支持(16)反对(12) 回复
  • 3.金多虾
  • 感觉淘宝做的也不是特别的好看.
  • 2011/10/27 15:06:23   支持(16)反对(12) 回复
  • 4.阿龙
  • 弱弱的问一下,请问JS代码 怎么用? 我挂上不好使,希望知道的能告诉一下,谢谢。 411161555 @ qq . com
  • 2011/10/28 14:52:44   支持(12)反对(8) 回复
  • 5.gleaner
  • 谢谢分享!这个很实用啊~!
  • 2011/10/27 15:14:48   支持(14)反对(11) 回复
  • 6.robertsky
  • 月光还发技术代码,呵呵
  • 2011/10/28 16:56:24   支持(15)反对(12) 回复
  • 7.天骄之弓
  • 谢谢分享 天骄之弓 户外射箭用品 射击用品专卖 在线咨询QQ37225258
  • 2014/9/10 19:03:53   支持(3)反对(1) 回复
  • 9.黄瓜不止是菜
  • 收藏了,指不定哪天用得到。
    谢谢月光博主分享。
  • 2011/10/27 23:30:47   支持(14)反对(13) 回复
  • 10.敏敏知音
  • 指不定哪天用得到。谢谢分享。
  • 2011/10/28 8:07:16   支持(14)反对(13) 回复
  • 12.lost
  • 哈哈, 学习了,以后多整些技术代码吧
  • 2011/10/27 9:52:11   支持(13)反对(13) 回复
  • 13.Sunsine
  • 网站有很长时间不用特效了
  • 2011/10/27 21:37:58   支持(15)反对(15) 回复
  • 15.golbz
  • 不支持IE6 并且 那是js代码 不是jQuery代码
  • 2011/10/27 9:46:23   支持(12)反对(13) 回复
  • 19.laohe
  • 呵呵 ,这个效果完全可以使用css实现,且兼容各种浏览器的。
  • 2011/10/30 11:15:02   支持(9)反对(10) 回复
  • 21.toki
  • 什么烂代码啊,一看就知道其前端编程水平很低了!
    不会缩略写法,变量名称乱七八糟,代码结构混乱,没有兼容的概念...而且最搞笑的是居然用ActiveXObject来判断是否IE6...

    这种代码的水平请不要投稿出来献丑了!
  • 2011/10/27 18:56:12   支持(12)反对(14) 回复
  • 22.ra1n
  • 不考虑IE6的话不用JS。
    直接css搞定。
  • 2011/10/28 9:42:06   支持(13)反对(15) 回复
  • 23.CzBiX
  • JS是压缩过的,虽然变量不多,看着很别扭
  • 2011/10/30 10:00:36   支持(12)反对(14) 回复
  • 26.笃行天下
  • 最近这个好像很流行。

    gmail的工具条、QQ空间日志编辑框工具条都是这样
  • 2011/10/27 14:07:46   支持(11)反对(14) 回复
  • 27.百透网
  • 看月光博客,确实学习了不少东西,由衷感谢!
  • 2011/10/28 10:38:44   支持(9)反对(12) 回复
  • 30.vinzai
  • Thanks William , I am from Malaysia as well :P, are you in Shen Zhen?呵
  • 2011/10/29 12:41:38   支持(8)反对(12) 回复
  • 32.阿龙
  • IE6 用不了啊。。。。。 崩溃。。。
  • 2011/10/28 14:57:13   支持(11)反对(17) 回复

发表评论:

 请勿发送垃圾信息、广告、推广信息或链接,这样的信息将会被直接删除。

订阅博客

  • 订阅我的博客:订阅我的博客
  • 关注新浪微博:关注新浪微博
  • 关注腾讯微博:关注腾讯微博
  • 关注认证空间:关注QQ空间
  • 通过电子邮件订阅
  • 通过QQ邮件订阅

站内搜索

热文排行


月度排行

本站采用创作共用版权协议, 要求署名、非商业用途和相同方式共享. 转载本站内容必须也遵循“署名-非商业用途-相同方式共享”的创作共用协议.
This site is licensed under a Creative Commons Attribution-NonCommercial-ShareAlike 3.0 License.