1

私は他の誰かがまとめたコードに取り組んでいます。アイデアは、1 つのページに複数のテーブルがあるということです。最初は画像だけですが、画像をクリックすると表全体が表示されます。テーブルは、ページのどこにいるかに応じてテーブルの位置を制御する div オーバーレイでラップされます。

スクリプトは基本的に、ページのどこにいるかを検出し、'top' 属性をインライン スタイルとして追加します。ピクセルは、クリックしたテーブルとページのどこにいるかによって異なります。IE7 / 8 を除くすべてのブラウザで問題なく動作します。

私は問題を解決しました.「トップ」属性がインラインスタイルとして追加されていません. IE7 / 8で、そこにトップを追加できるクラスを追加しようとしましたが、スタイルをそのように動的に追加することはできません。

とにかく、ここにいくつかのコードがあります:

top 属性を追加する JS のスニペット:

// Get the current browser size and scroll position
        viewport_width = viewport().width;
        viewport_height = viewport().height;

        viewport_offsetx = window.pageXOffset;
        viewport_offsety = window.pageYOffset;


        $("#tablesorter_overlay").css("top", viewport_offsety);



        table_instance = $("#tablesorter_" + $(this).attr("rel"));
        table_instance.css("position", "absolute");


        // Make a copy of this table so we'll have the original safe, and set it to be sorted. Add it to the overlay
        new_table_instance = table_instance.clone().tablesorter();
        new_table_instance.appendTo("#tablesorter_overlay");
        new_table_instance.show();

// テーブルをクリックした後のテーブルとオーバーレイ HTML...

<div id="tablesorter_overlay" style="top: 2803px;" class="topclass">
<p class="tablesorter_overlay_close"><a href="#">X</a></p><table cellspacing="0" cellpadding="0" class="tablesorter generic" id="tablesorter_2" style="max-width: 95%; position: absolute;">
<thead> 
<tr> etc..

**注: HTML コードは Firefox コードです。IE でも同じですが、'top' 属性はありません。

コードが不足していることはわかっていますが、問題が見つかったので、もう必要ないことを願っています。

ありがとう!

ジョシュ

答え*

function getScrollTop(){
        if(typeof pageYOffset!= 'undefined'){
        //most browsers
        return pageYOffset;
    }
        else{
            var B= document.body; //IE 'quirks'
            var D= document.documentElement; //IE with doctype
            D= (D.clientHeight)? D: B;
            return D.scrollTop;
    }
    }
4

2 に答える 2

0

関数getScrollTop()

{
        if(typeof pageYOffset!= 'undefined'){
        //most browsers
        return pageYOffset;
    }
        else{
            var B= document.body; //IE 'quirks'
            var D= document.documentElement; //IE with doctype
            D= (D.clientHeight)? D: B;
            return D.scrollTop;
    }
    }
于 2012-09-28T16:08:23.440 に答える
0

親にposition:relativeを配置してみてください。

于 2012-09-17T23:56:28.350 に答える