mirror of
https://gitee.com/vnotex/vnote.git
synced 2025-07-05 13:59:52 +08:00
flash current anchor in read mode when jumping into it
This commit is contained in:
parent
7c2f1a8927
commit
d01996288f
@ -5,6 +5,22 @@
|
|||||||
<style type="text/css">
|
<style type="text/css">
|
||||||
<!-- BACKGROUND_PLACE_HOLDER -->
|
<!-- BACKGROUND_PLACE_HOLDER -->
|
||||||
</style>
|
</style>
|
||||||
|
|
||||||
|
<style type="text/css">
|
||||||
|
@keyframes flash {
|
||||||
|
0% { color: #75C5B5; }
|
||||||
|
10% { color: #15AE67; }
|
||||||
|
40% { color: #15AE67; }
|
||||||
|
50% { color: #75C5B5; }
|
||||||
|
60% { color: #15AE67; }
|
||||||
|
90% { color: #15AE67; }
|
||||||
|
}
|
||||||
|
|
||||||
|
.highlighted-anchor {
|
||||||
|
animation: 1s flash;
|
||||||
|
}
|
||||||
|
</style>
|
||||||
|
|
||||||
<link rel="stylesheet" type="text/css" href="CSS_PLACE_HOLDER">
|
<link rel="stylesheet" type="text/css" href="CSS_PLACE_HOLDER">
|
||||||
<link rel="stylesheet" type="text/css" href="qrc:/utils/highlightjs/styles/vnote.css">
|
<link rel="stylesheet" type="text/css" href="qrc:/utils/highlightjs/styles/vnote.css">
|
||||||
<script src="qrc:/resources/qwebchannel.js"></script>
|
<script src="qrc:/resources/qwebchannel.js"></script>
|
||||||
|
@ -51,6 +51,20 @@ new QWebChannel(qt.webChannelTransport,
|
|||||||
}
|
}
|
||||||
});
|
});
|
||||||
|
|
||||||
|
var VHighlightedAnchorClass = 'highlighted-anchor';
|
||||||
|
|
||||||
|
var clearHighlightedAnchor = function() {
|
||||||
|
var headers = document.getElementsByClassName(VHighlightedAnchorClass);
|
||||||
|
while (headers.length > 0) {
|
||||||
|
headers[0].classList.remove(VHighlightedAnchorClass);
|
||||||
|
}
|
||||||
|
};
|
||||||
|
|
||||||
|
var highlightAnchor = function(anchor) {
|
||||||
|
clearHighlightedAnchor();
|
||||||
|
anchor.classList.add(VHighlightedAnchorClass);
|
||||||
|
};
|
||||||
|
|
||||||
var g_muteScroll = false;
|
var g_muteScroll = false;
|
||||||
|
|
||||||
var scrollToAnchor = function(anchor) {
|
var scrollToAnchor = function(anchor) {
|
||||||
@ -65,6 +79,8 @@ var scrollToAnchor = function(anchor) {
|
|||||||
var anc = document.getElementById(anchor);
|
var anc = document.getElementById(anchor);
|
||||||
if (anc != null) {
|
if (anc != null) {
|
||||||
anc.scrollIntoView();
|
anc.scrollIntoView();
|
||||||
|
highlightAnchor(anc);
|
||||||
|
|
||||||
var headers = document.querySelectorAll("h1, h2, h3, h4, h5, h6");
|
var headers = document.querySelectorAll("h1, h2, h3, h4, h5, h6");
|
||||||
for (var i = 0; i < headers.length; ++i) {
|
for (var i = 0; i < headers.length; ++i) {
|
||||||
if (headers[i] == anc) {
|
if (headers[i] == anc) {
|
||||||
@ -784,6 +800,7 @@ var jumpTitle = function(forward, relativeLevel, repeat) {
|
|||||||
// Disable scroll temporarily.
|
// Disable scroll temporarily.
|
||||||
g_muteScroll = true;
|
g_muteScroll = true;
|
||||||
headers[targetIdx].scrollIntoView();
|
headers[targetIdx].scrollIntoView();
|
||||||
|
highlightAnchor(headers[targetIdx]);
|
||||||
currentHeaderIdx = targetIdx;
|
currentHeaderIdx = targetIdx;
|
||||||
content.setHeader(headers[targetIdx].getAttribute("id"));
|
content.setHeader(headers[targetIdx].getAttribute("id"));
|
||||||
setTimeout("g_muteScroll = false", 100);
|
setTimeout("g_muteScroll = false", 100);
|
||||||
|
Loading…
x
Reference in New Issue
Block a user