ホームページ  >  記事  >  ウェブフロントエンド  >  JS は、一部の HTML 固定ページの上部に画面スクロール効果を実装します_javascript スキル

JS は、一部の HTML 固定ページの上部に画面スクロール効果を実装します_javascript スキル

WBOY
WBOYオリジナル
2016-05-16 15:23:381043ブラウズ

この記事の例では、一部の HTML 固定ページの上部にある画面スクロール効果の JS 実装について説明します。参考のために皆さんと共有してください。詳細は次のとおりです:

タオバオではこのような特殊効果がよく見られます。商品リストは非常に長いですが、商品列の名前は常に先頭に表示されます。スクロール バーを一番上までスクロールすると、一番上に到達したかどうかを自動的に判断し、ブロックされないように一番上に維持します。

この特殊効果は JavaScript と CSS によって実装されており、実際の開発で多くの用途に使用できます。以下は、JavaScript を使用して Taobao スマート フローティングを模倣したソース コードです。互換性が高く、IE、Firefox、などで使用できます。 Chrome ではすべて正常に動作します。

この特殊効果コードをサイドバーで使用する場合は、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;}

この記事が JavaScript プログラミングのすべての人に役立つことを願っています。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。