@Panda you’d be surprised. If you consider that you’d need to use the API to be able to populate a WordPress widget for example (which in turn would of course be PHP), taking this route is still immensely popular.
What is this bar called?
-
odd, no problem on desktop, just smartphone
-
It seems that code who caused problem :
/* Menu Brand Header */ @media (max-width: 767px) { .socialicons { display: none !important; } [data-widget-area=brand-header] .d-none { display: inherit !important; } /* Button topic navbar header color */ .sticky-tools .btn-ghost-sm i { color: var(--bs-alert-info-color) !important; } }
If i delete :
[data-widget-area=brand-header] .d-none { display: inherit !important; }
Reading progress bar is good now but my icons (menu and theme swatch applet) dissapear
-
@DownPW I’d put that CSS back. It’s set like that for a reason, so you’ll need to be more specific with the target so you can unset.
-
Sorry but I do not understand too much @phenomlab because if I keep this code, the reading bar does not work on smartphone
-
@DownPW what I mean is target from higher above so the CSS you apply to the end target is not the same as an existing element.
-
for brand header or for progress bar ?
-
@DownPW progress bar.
-
I just tested by deleting all the custom CSS code and keeping only the following CSS code
#pageUp { display: inline-block; background: var(--bs-body-component-active); width: 50px; height: 50px; text-align: center; border-radius: 0.375rem; position: fixed; bottom: 70px; right: 80px; transition: background-color .3s, opacity .5s, visibility .5s; opacity: 0; visibility: hidden; } #pageUp.show { opacity: 1; visibility: visible; z-index: 10000; color: var(--bs-body-navbar-color) !important; } a#pageUp.show:hover { background: var(--bs-dropdown-link-hover-bg); border: 1px solid var(--bs-border-color); } a#pageUp i { position: absolute; top: 32%; left: 35%; } .reading-meter { position: fixed; width: 100%; top: 0; left: 0; right: 0; height: 2px !important; } div#readingposition { background-color: var(--bs-body-navbar) !important; color: var(--bs-body-color) !important; height: 2px; z-index: 1000; } .reading-meter-progress { border: 1px solid var(--bs-border-color); width: 100%; } .reading-meter-background { background: var(--bs-body-bg); } .reading-meter-progress-bar { background: var(--bs-progress-bg-bar); height: 2px; } input#percentage { display: none; } @media (max-width: 767px) { #pageUp { bottom: 60px; right: 30px; } } /* Menu Brand Header */ @media (max-width: 767px) { .socialicons { display: none !important; } [data-widget-area=brand-header] .d-none { display: inherit !important; } /* Button topic navbar header color */ .sticky-tools .btn-ghost-sm i { color: var(--bs-alert-info-color) !important; } }
There is clearly a conflict between his 2 codes.
-
What I don’t understand is that we have the same code and you don’t have this problem.
-
@DownPW this is the point I was trying to make about custom CSS.
-
I have find, it’s a zoom problem :
If we zoom in on a page like the home page, even a tiny zoom invisible to the naked eye (which was my case), we end up with the bug described above.
Solution: zoomed out to maximum
-
When I refresh the page or first visit, the Reading bar appear when she shouldn’t appear.
An idea?Same things when I disable all the other custom CSS
-
@DownPW Let me have a look.
-
It’s weird @phenomlab because I tested by removing all the custom css except the reading bar and it’s the same.
Have you testing without custom css for see that ?
On custom JS maybe ?
-
@DownPW I am able to reproduce this, yes. There are some CSS classes missing
.reading-meter { visibility: hidden; } .reading-meter.show { visibility: visible; }
I’ve added these on your DEV server and updated the original post. Sorry
-
No problem my friend, I won’t complain
-
I saw another bug.
This bug occurs on the home page. No problem on recent page for example
When you scroll down (to go to the bottom of the page) and then click on the button at the bottom right, it goes up automatically but the reading bar in the header does not disappear
here a video :
-
@DownPW thanks. Not sure why that happens - I’ve not noticed it before! Will check.
-
just for info, same bug on tags page and groups page
-
@DownPW Can you test this revised code for me please
// Scroll to top function $(window).on('action:ajaxify.end', function(data) { var matched = false; $(document).ready(function() { var pageUp = $('#pageUp'); var bar = $('.reading-meter'); var perWidth = $('.reading-meter').width(); // Main progressbar function function pageScroller() { var winScroll = document.body.scrollTop || document.documentElement.scrollTop; var height = document.documentElement.scrollHeight - document.documentElement.clientHeight; var scrolled = (winScroll / height) * 100; document.getElementById("progress-bar").style.width = parseFloat(scrolled).toFixed(0) + "%"; $('#percentage').val(parseFloat(scrolled).toFixed(0) + "%"); // Prevent the mouse scroll wheel from scrolling down after the pageUp button is clicked if ($('#pageUp').is(':focus')) { event.preventDefault(); } } // Bind the pageScroller function to the window's scroll event $(window).scroll(function() { pageScroller(); }); // Check the URL and composer visibility separately from the scroll event $(window).scroll(function() { var thisURL = window.location.href; var checkURL = ["topic", "notifications", "user"]; var isFound = false; for (var i = 0, len = checkURL.length; i < len; i++) { if (thisURL.indexOf(checkURL[i]) > -1) { isFound = true; break; } } if (isFound) { bar.removeClass('show'); pageUp.removeClass('show'); } else { // Exception here is that we don't want the scroll bar to show when the composer is active if ($(window).scrollTop() > 0 && (!$('[component="composer"]').is(":visible"))) { bar.addClass('show'); pageUp.addClass('show'); } else { bar.removeClass('show'); pageUp.removeClass('show'); } } }); // Scroll to top when #pageUp is clicked $(document).on("click", "#pageUp", function(e) { const firstTopic = $('[component="category/topic"][data-index="0"]'); if (firstTopic.length) { $("html").animate({ scrollTop: 0 }, '300'); return false; } else { ajaxify.refresh(); } $('#progress-bar').width(0); pageUp.removeClass('show'); }); }); });
Did this solution help you?
Related Topics
-
-
-
-
-
-
-
-
Reading Meter Progress bar
Locked Solved Customisation