2016-04-07 3 views
0

CSS-Codehtml Tabellenzeile markiert auf Scroll-Ereignis

table { 
     width: 100%; 
} 

.highlight { 
     background: red; 
} 

.area { 
    position: relative; 
    height: 400px; 
    overflow-x: hidden; 
    overflow-y: scroll; 
} 

HTML-Code

<div class="area"> 
<table border="1"> 
      <tr> 
       <td>test 1</td> 
       <td>test 2</td> 
       <td>test 3</td> 
       <td>test 4</td> 
       <td>test 5</td>    
      </tr> 

<tr> 
       <td>test 1</td> 
       <td>test 2</td> 
       <td>test 3</td> 
       <td>test 4</td> 
       <td>test 5</td>    
      </tr><tr> 
       <td>test 1</td> 
       <td>test 2</td> 
       <td>test 3</td> 
       <td>test 4</td> 
       <td>test 5</td>    
      </tr><tr> 
       <td>test 1</td> 
       <td>test 2</td> 
       <td>test 3</td> 
       <td>test 4</td> 
       <td>test 5</td>    
      </tr><tr> 
       <td>test 1</td> 
       <td>test 2</td> 
       <td>test 3</td> 
       <td>test 4</td> 
       <td>test 5</td>    
      </tr> 

</table 
</div> 

Skript var up = 0; Funktion upAndDownHighlight() { var top = $ (this) .scrollTop();

if (top > 30 && top < 60) { 
    $("table").find("tr").eq(1).addClass("highlight"); 
    } else if(top > 60 && top < 90) { 
    $("table").find("tr").eq(1).addClass("highlight"); 
    } 
    : 
    : 
    : 


    if (top < up) { 
     $("table").find("tr").removeClass("highlight"); 
    } 

    up = top; 
} 

$(".area").on("scroll", upAndDownHighlight); 

Ziel: auf Rolle auf nach bestimmten Top-Position meine zugehörige Zeile sollte hervorgehoben werden

Schwierigkeit: jetzt bin ich mit hart codierten Wert und überprüfen Wert dann tun bezogenen Zeile markiert Sie können siehe oben Code, wo ich hart codierte überprüfen, wenn ich mehrere Zeilen haben, dann habe ich viel Bedingung

Jeder kann dieses Problem zu optimieren.

+0

also was ist die Logik, wann sollte tr: eq (1) und wann sollte tr: eq (2) für jetzt hervorgehoben werden Sie liefern nur fest codierte Werte –

Antwort

Verwandte Themen