Skip to content

Commit 5767712

Browse files
committed
fix error
1 parent eed5325 commit 5767712

4 files changed

Lines changed: 62 additions & 44 deletions

File tree

_includes/head.html

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -20,7 +20,7 @@
2020
<link rel="shortcut icon" href="{{ site.icon | prepend: '/assets/img/' | relative_url}}"/>
2121
{% endif %}
2222
<script src="{{ '/assets/js/block_polyfill_io.js' | relative_url }}"></script>
23-
<script src="{{ '/assets/js/wechat_popover.js' | relative_url }}" defer></script>
23+
<script src="{{ '/assets/js/wechat_popover.js?v=2' | relative_url }}" defer></script>
2424
<link rel="stylesheet" href="{{ '/assets/css/main.css' | relative_url }}">
2525
<link rel="canonical" href="{{ page.url | replace:'index.html','' | absolute_url }}">
2626

_includes/social.html

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -52,7 +52,7 @@
5252
alt="Wechat"
5353
style="width:56px; height:56px; vertical-align:middle;">
5454
</button>
55-
<span class="wechat-qr" role="dialog" aria-label="Wechat QR code">
55+
<span class="wechat-qr" role="dialog" aria-label="Wechat QR code" hidden>
5656
<img src="{{ site.wechat }}" alt="Wechat QR code">
5757
</span>
5858
</span>

_sass/_base.scss

Lines changed: 45 additions & 40 deletions
Original file line numberDiff line numberDiff line change
@@ -236,46 +236,6 @@ blockquote {
236236
}
237237
}
238238

239-
.wechat-popover {
240-
display: inline-flex;
241-
position: relative;
242-
align-items: center;
243-
vertical-align: middle;
244-
}
245-
246-
.wechat-trigger {
247-
padding: 0;
248-
border: 0;
249-
background: transparent;
250-
cursor: pointer;
251-
line-height: 1;
252-
}
253-
254-
.wechat-qr {
255-
position: absolute;
256-
left: 50%;
257-
bottom: calc(100% + 12px);
258-
z-index: 20;
259-
display: none;
260-
width: 176px;
261-
padding: 10px;
262-
transform: translateX(-50%);
263-
border: 1px solid var(--global-divider-color);
264-
border-radius: 8px;
265-
background: var(--global-bg-color);
266-
box-shadow: 0 10px 30px rgba(0, 0, 0, 0.18);
267-
}
268-
269-
.wechat-qr img {
270-
display: block;
271-
width: 100%;
272-
height: auto;
273-
border-radius: 4px;
274-
}
275-
276-
.wechat-popover.is-open .wechat-qr {
277-
display: block;
278-
}
279239
}
280240
}
281241

@@ -332,6 +292,51 @@ blockquote {
332292

333293
// Social (bottom)
334294

295+
.wechat-popover {
296+
display: inline-flex;
297+
position: relative;
298+
align-items: center;
299+
vertical-align: middle;
300+
}
301+
302+
.wechat-trigger {
303+
padding: 0;
304+
border: 0;
305+
background: transparent;
306+
cursor: pointer;
307+
line-height: 1;
308+
}
309+
310+
.wechat-qr {
311+
position: absolute;
312+
left: 50%;
313+
bottom: calc(100% + 12px);
314+
z-index: 20;
315+
display: none;
316+
width: 176px;
317+
padding: 10px;
318+
transform: translateX(-50%);
319+
border: 1px solid var(--global-divider-color);
320+
border-radius: 8px;
321+
background: var(--global-bg-color);
322+
box-shadow: 0 10px 30px rgba(0, 0, 0, 0.18);
323+
}
324+
325+
.wechat-qr[hidden] {
326+
display: none !important;
327+
}
328+
329+
.wechat-qr img {
330+
display: block;
331+
width: 100%;
332+
height: auto;
333+
border-radius: 4px;
334+
}
335+
336+
.wechat-popover.is-open .wechat-qr {
337+
display: block;
338+
}
339+
335340
.social {
336341
text-align: center;
337342

assets/js/wechat_popover.js

Lines changed: 15 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,10 +1,23 @@
11
(function () {
22
function closeAll(except) {
33
document.querySelectorAll('.wechat-popover.is-open').forEach(function (popover) {
4-
if (popover !== except) popover.classList.remove('is-open');
4+
if (popover === except) return;
5+
popover.classList.remove('is-open');
6+
var qr = popover.querySelector('.wechat-qr');
7+
if (qr) qr.hidden = true;
58
});
69
}
710

11+
function setOpen(popover, isOpen) {
12+
popover.classList.toggle('is-open', isOpen);
13+
var qr = popover.querySelector('.wechat-qr');
14+
if (qr) qr.hidden = !isOpen;
15+
}
16+
17+
document.querySelectorAll('.wechat-popover').forEach(function (popover) {
18+
setOpen(popover, false);
19+
});
20+
821
document.addEventListener('click', function (event) {
922
var trigger = event.target.closest('.wechat-trigger');
1023
var activePopover = event.target.closest('.wechat-popover');
@@ -13,7 +26,7 @@
1326
event.preventDefault();
1427
var willOpen = !activePopover.classList.contains('is-open');
1528
closeAll(activePopover);
16-
activePopover.classList.toggle('is-open', willOpen);
29+
setOpen(activePopover, willOpen);
1730
return;
1831
}
1932

0 commit comments

Comments
 (0)