From 8ee5e9e5e69e9a54dabad9abc580cc2391198464 Mon Sep 17 00:00:00 2001 From: Andrew Dolgov Date: Wed, 10 Jul 2013 22:11:24 +0400 Subject: [PATCH] rework floatingtitle --- css/cdm.css | 74 ++++++++++++++++++++++++++++----------- images/page_white_go.png | Bin 0 -> 612 bytes js/viewfeed.js | 51 ++++++++++++++++++++------- 3 files changed, 92 insertions(+), 33 deletions(-) create mode 100644 images/page_white_go.png diff --git a/css/cdm.css b/css/cdm.css index 7e85cbfff..2d0797db3 100644 --- a/css/cdm.css +++ b/css/cdm.css @@ -230,39 +230,71 @@ div.cdmHeader span.author { div#floatingTitle { position : absolute; z-index : 5; - top : 30px; - right : 20px; - border : 1px solid #ccc; - background : white; - border-radius : 3px; - box-shadow : 0px 0px 3px 0px rgba(0,0,0,0.1); + top : 26px; + right : 0px; + left : 0px; + border-color : #ccc; + border-width : 0px 0px 1px 0px; + border-style : solid; + background : #fcfcfc; color : #555; - font-size : 10px; - padding : 3px; + box-shadow : 0px 1px 1px 0px rgba(0,0,0,0.1); } div#floatingTitle > * { display : table-cell; white-space : nowrap; vertical-align : middle; -} - -div#floatingTitle span.titleWrap { - max-width : 200px; - overflow : hidden; - text-overflow : ellipsis; + padding : 9px 5px; } div#floatingTitle img { - padding-right : 3px; + margin-right : 4px; + margin-left : 4px; } -div#floatingTitle .dijit, -div#floatingTitle span.updated, -div#floatingTitle div.scoreWrap, -div#floatingTitle div.hlFeed, -div#floatingTitle span.author, -div#floatingTitle img.tinyFeedIcon { +div#floatingTitle span.author { + color : #555; + font-size : 11px; + font-weight : normal; +} + +div#floatingTitle a.title { + font-size : 14px; + color : #999; + font-weight : bold; +} +div#floatingTitle img.anchor { + margin-right : 1px; + margin-left : 0px; +} + +div#floatingTitle div.hlFeed { + padding-right : 10px; + color : #555; + font-weight : normal; + font-style : italic; + font-size : 11px; + white-space : nowrap; +} + +div#floatingTitle span.updated { + padding-right : 10px; + white-space : nowrap; + color : #555; + font-size : 11px; +} + +div#floatingTitle div.hlFeed a { + color : #555; +} + +div#floatingTitle span.titleWrap { + width : 100%; +} + +div#floatingTitle .dijit, +div#floatingTitle img.hlScorePic { display : none; } diff --git a/images/page_white_go.png b/images/page_white_go.png new file mode 100644 index 0000000000000000000000000000000000000000..7e62a924bc57bc306a6017dd37eab38f23388c8f GIT binary patch literal 612 zcmV-q0-ODbP)#DY{xaiib^#X=YT4@yE_&2#eBulEdzjE`u&@G%2(&u{J-<}d(^uY4W_kMfEX z@!X)AR9F&FL?RJyJRUzvBoeqN{5kY`z3wcM0+du73~_0|*lac! z42Dw(Eg1o{Ash}P8jXrqN+1w`*XxDD;ShmPCZC7#4;wWbHoMvBl$=zF-`?*9j*Nbjd=v@OWt_BgKxP-3wd zy37?ATx&$b+&zRM!K;BD%Okw`Sb@&Pak8$KRX19jWZmC0&n*Ggv%j8nvSPDFw zEkV65AGOoBQ8kf`R|}Px*&INNS%osq9b{Fq2I(x6@xM>tg=vRLF?I`0rWz 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 = "" + $("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) {