1
0
mirror of https://git.tt-rss.org/git/tt-rss.git synced 2025-12-13 15:25:59 +00:00

rework floatingtitle

This commit is contained in:
Andrew Dolgov
2013-07-10 22:11:24 +04:00
parent a290e9ea2e
commit 8ee5e9e5e6
3 changed files with 92 additions and 33 deletions

View File

@@ -2215,27 +2215,54 @@ function openSelectedAttachment(elem) {
}
}
function scrollToRowId(id) {
try {
var row = $(id);
if (row)
$("headlines-frame").scrollTop = row.offsetTop;
} catch (e) {
exception_error("scrollToRowId", e);
}
}
function updateFloatingTitle() {
try {
var hf = $("headlines-frame");
var child = $("RROW-" + _active_article_id);
if (child && child.offsetTop + child.offsetHeight > hf.scrollTop) {
var elems;
var header = child.getElementsByClassName("cdmHeader")[0];
if (getInitParam("cdm_auto_catchup"))
elems = [$$("RROW-" + _active_article_id)];
else
elems = $$("#headlines-frame > div[id*=RROW]");
if (child.id != $("floatingTitle").getAttribute("rowid")) {
$("floatingTitle").setAttribute("rowid", child.id);
$("floatingTitle").innerHTML = header.innerHTML;
for (var i = 0; i < elems.length; i++) {
var child = elems[i];
if (child && child.offsetTop + child.offsetHeight > hf.scrollTop) {
var header = child.getElementsByClassName("cdmHeader")[0];
if (child.id != $("floatingTitle").getAttribute("rowid")) {
$("floatingTitle").setAttribute("rowid", child.id);
$("floatingTitle").innerHTML = header.innerHTML;
$("floatingTitle").firstChild.innerHTML = "<img class='anchor markedPic' src='images/page_white_go.png' onclick=\"scrollToRowId('"+child.id+"')\">" + $("floatingTitle").firstChild.innerHTML;
PluginHost.run(PluginHost.HOOK_FLOATING_TITLE, child);
}
if (child.offsetTop < hf.scrollTop - header.offsetHeight)
Element.show("floatingTitle");
else
Element.hide("floatingTitle");
return;
PluginHost.run(PluginHost.HOOK_FLOATING_TITLE, child);
}
if (child.offsetTop < hf.scrollTop - header.offsetHeight - 100 &&
child.offsetTop + child.offsetHeight - hf.scrollTop > 100)
Element.show("floatingTitle");
else
Element.hide("floatingTitle");
}
} catch (e) {