ホームページ > 記事 > ウェブフロントエンド > JS は固定テーブル ヘッダーを実装し、テーブル ヘッダーは水平スクロールでスクロールします。
この記事では主に tabletable固定テーブルヘッダーを実装するための JS を紹介します。js に詳しい友人はこの記事を参照してください
まずレンダリングを見てください
:
1. ヘッドに table を使用し、それを p で囲みます。テーブルの特定の内容に table を使用します。テーブル全体
4. テーブルの dom (またはテーブルを囲む dom) とページの上部の間の距離を取得します
5. スクロールのゼロ点とテーブルの高さの間の距離。 + スクロールがこれを超える場合は、先頭の値を 0 に戻すか、そのままにしておきます
もちろん、最適化できる領域はたくさんあります。ちょっとしたアイデアを見せてください、ふふふなぜ赤いヘッダーを使用するのか、それは目立つからです わーはは
JS コード
/** * 最重要的一点是头和身体是两个table 然后定位用relative 然后通过滚动来计算 * */ function FixedHead (){ if( !(this instanceof FixedHead) ){ return new FixedHead() }; this.$dom = $('.dataTables_scrollHead'); // 表头外层dom this.offsetTop = this.$dom.offset().top; // 表头外层dom距离顶部的高度 this.parents = this.$dom.parents('.dataTables_scroll'); // 表头外层dom最外面的盒子(包裹着table的盒子) this.outBoxHeight = this.parents.height(); // 表头外层dom最外面的盒子(包裹着table的盒子)的高度 this.maxHeight = this.offsetTop + this.outBoxHeight; // 滚动的零界点 最多能滚动到哪里 this.scroll(); } FixedHead.prototype = { constructor: FixedHead, scroll: function(){ var that = this; $(window).scroll(function(){ var scrollTop = $(this).scrollTop(); if((scrollTop > that.offsetTop) && (scrollTop < that.maxHeight)){ that.$dom.css('top', (scrollTop - that.offsetTop + 50)+'px') // 这个50是因为我的头部导航固定在顶部 高是50 所以要加上 }else { var topCss = that.$dom.css('top'); if(topCss === '0px' || topCss === 'auto'){ }else { that.$dom.css('top', '0px') } } }) } }
上記は、固定テーブル ヘッダーを実装するためにエディターによって導入された JS 実装であり、テーブル ヘッダーは次のようにスクロールします。横スクロールですので皆さんのお役に立てれば幸いです! ! 関連する推奨事項:
ユーザーがページを操作したかどうかを判断するJavaScriptの詳細な説明JavaScriptは、Webページ上の任意の場所をクリックして新しいウィンドウを開いてウィンドウを閉じるメソッドを実装します
使用JavaScriptで小さなプログラム99の九九を実装します
以上がJS は固定テーブル ヘッダーを実装し、テーブル ヘッダーは水平スクロールでスクロールします。の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。