Ace: 間違った位置にあるエースマーカー

作成日 2014年09月05日  ·  4コメント  ·  ソース: ajaxorg/ace

やあ

エース1.1.5を使用していますが、マーカーの設定で問題が発生しました

いくつかの行を強調表示したいと思います。 このために私は次のコードでマーカーを追加します

var range = new Range(4, 1, 8, 1);
var marker = $scope.editor.getSession().addMarker(range, "ace-related-code-highlight", "line");

私のスタイルは:

.ace-related-code-highlight {
     background-color: yellow;
}

ただし、エースは最初の行を強調表示します。 ace1.png。 同じ範囲のまったく同じコードを再度トリガーすると、次の行が強調表示されます。 ace2.png

私は彼が常に範囲の高さを尊重しているが、トップから始めていることを知りました。 上記の例では、彼は1〜5行目を強調しています。 2番目に5〜10をクリックします。
しかし、スクロールすると範囲が移動します。 11行目がマークされている場合もあれば、10行目が半分だけマークされている場合もあります。
だから、エースは正しいラインを見つけるのにいくつかの問題を抱えているように見えますか?

また、スクロールするとレンダリングエラーが発生します。 行全体ではなく、左側の部分だけが黄色ですs.ace3.png

私が間違っていることについて何かアドバイスはありますか?

最も参考になるコメント

position:absolute;.ace-related-code-highlightルールに追加します

全てのコメント4件

position:absolute;.ace-related-code-highlightルールに追加します

助けを求めるThx。 それはそれを改善しました

しかし

カリンのとき

var range = new Range(5、0、10、0);
varmarker = $ scope.editor.getSession()。addMarker(range、 "ace-related-code-highlight"、 "fullLine"、false);

6〜11行目を強調表示しています。APIを誤解していますか?

はい、ラインインデックスは0から始まります。

ええ確かに、私の悪いthx

このページは役に立ちましたか?
0 / 5 - 0 評価