プレゼンテーションスライドのセットを準備しています。各スライドには、コードのいくつかのセクションを含めることができます。コードの個々の行を強調表示し、強調表示を1行ずつ上下に移動できるようにするjQueryプラグインを作成しています。
マークアップの例を次に示します。
<div class='slide'>
<div class='section'>
<span class='line'>Line 1</span>
<span class='line'>Line 2</span>
</div>
<div class='section'>
<span class='line'>Line 3</span>
<span class='line'>Line 4</span>
</div>
<div class='section'>
<span class='line'>Line 5</span>
<span class='line'>Line 6</span>
</div>
</div>
<div class='slide active'>
<div class='section'>
<span class='line'>Line 1</span>
<span class='line'>Line 2</span>
</div>
<div class='section'>
<span class='line'>Line 3</span>
<span class='line selected'>Line 4</span>
<span class='line'>Line 5</span>
</div>
<div class='section'>
<span class='line'>Line 6</span>
<span class='line'>Line 7</span>
</div>
</div>
<div class='slide'>
<div class='section'>
<span class='line'>Line 1</span>
<span class='line'>Line 2</span>
</div>
<div class='section'>
<span class='line'>Line 3</span>
<span class='line'>Line 4</span>
</div>
</div>
2番目のスライド(3つのうち)はアクティブな表示スライドであり、そのスライドでは、2番目のコードセクションの中央の行が選択されています(強調表示されています)。
次のようにjQueryを使用して番号で行を選択できます。
var the_line = $(".slide.active").find("span.line")[lineno-1];
私ができないように見えるのは、現在選択されている行の行番号を計算することです。選択した行に続く行数を計算するためにこれを試しましたが、単一のセクション内でのみ機能します。
var following_lines = $(".slide.active").find("span.line.selected").nextAll("span.line");
選択した行の行番号を取得するにはどうすればよいですか?