diff --git a/js/article_v2.js b/js/article_v2.js
index 1376556..88d01e8 100644
--- a/js/article_v2.js
+++ b/js/article_v2.js
@@ -101,6 +101,113 @@ margin-left: calc((100% - 190px - 65px)/2) !important;
margin-top:10px;
}
+.zuo_zhe_name .article-author-link {
+ cursor: pointer;
+ text-decoration: none;
+}
+.zuo_zhe_name .article-author-link:hover {
+ text-decoration: underline;
+}
+/* 部署默认隐藏,浏览器调试时将 display 改为 block 即可启用 */
+.article-author-popup {
+ position: fixed;
+ z-index: 10001;
+ // display: none !important;
+ min-width: 280px;
+
+ background: #fff;
+ border: 1px solid #333;
+ box-shadow: 0 4px 16px rgba(0, 0, 0, 0.18);
+ padding: 14px 16px 18px;
+ font-size: 14px;
+ line-height: 1.5;
+ color: #333;
+ box-sizing: border-box;
+}
+.article-author-popup-arrow {
+ position: absolute;
+ left: 0;
+ bottom: 0;
+ width: 0;
+ height: 0;
+ pointer-events: none;
+ z-index: 2;
+}
+.article-author-popup-arrow-border,
+.article-author-popup-arrow-inner {
+ position: absolute;
+ left: 0;
+ bottom: 0;
+ transform: translateX(-50%);
+ width: 0;
+ height: 0;
+ border-style: solid;
+}
+.article-author-popup-arrow-border {
+ margin-bottom: -8px;
+ border-width: 8px 8px 0;
+ border-color: #333 transparent transparent;
+}
+.article-author-popup-arrow-inner {
+ margin-bottom: -6px;
+ border-width: 7px 7px 0;
+ border-color: #fff transparent transparent;
+}
+.article-author-popup.is-below .article-author-popup-arrow {
+ bottom: auto;
+ top: 0;
+}
+.article-author-popup.is-below .article-author-popup-arrow-border {
+ margin-bottom: 0;
+ margin-top: -8px;
+ border-width: 0 8px 8px;
+ border-color: transparent transparent #333;
+}
+.article-author-popup.is-below .article-author-popup-arrow-inner {
+ margin-bottom: 0;
+ margin-top: -6px;
+ border-width: 0 7px 7px;
+ border-color: transparent transparent #fff;
+}
+.article-author-popup-header {
+ display: flex;
+ justify-content: space-between;
+ align-items: flex-start;
+ margin-bottom: 8px;
+}
+.article-author-popup-name {
+ font-weight: bold;
+ font-size: 15px;
+ padding-right: 12px;
+}
+.article-author-popup-close {
+ cursor: pointer;
+ font-size: 18px;
+ line-height: 1;
+ color: #666;
+ flex-shrink: 0;
+}
+.article-author-popup-affiliation {
+ font-size: 14px;
+ color: #333;
+ line-height: 22px;
+ margin-bottom: 12px;
+}
+.article-author-popup-affiliation sup {
+ color: rgb(0, 112, 192);
+}
+.article-author-popup-search {
+ border-top: 1px solid #e0e0e0;
+ padding-top: 10px;
+ font-size: 13px;
+}
+.article-author-popup-search a {
+ color: #006699;
+ text-decoration: underline;
+}
+.article-author-popup-search a:hover {
+ color: #004466;
+}
`
document.head.appendChild(style);
@@ -478,6 +585,158 @@ function renderCitations(citations, doi) {
}
}
+function escapeAuthorAttr(str) {
+ return String(str || '').replace(/&/g, '&').replace(/"/g, '"').replace(/' + organs[i].alias + ' ' + organs[i].organ_name);
+ break;
+ }
+ }
+ }
+ return lines.join('
');
+}
+
+function getPubMedAuthorUrl(name) {
+ var searchName = formatAuthorSearchName(name);
+ return 'https://www.ncbi.nlm.nih.gov/entrez/query.fcgi?cmd=search&term=' + encodeURIComponent(searchName);
+}
+
+function getGoogleScholarAuthorUrl(name) {
+ var searchName = formatAuthorSearchName(name);
+ return 'https://scholar.google.com/scholar?as_q=&num=10&btnG=Search+Scholar&as_sauthors=' +
+ encodeURIComponent('"' + searchName + '"') +
+ '&as_publication=&as_ylo=&as_yhi=&as_sdt=1&as_sdtp=&as_vis=1&hl=en';
+}
+
+var articleAuthorPopupTrigger = null;
+
+function hideArticleAuthorPopup() {
+ articleAuthorPopupTrigger = null;
+ $('#article-author-popup').hide().removeClass('is-below is-active');
+}
+
+function positionArticleAuthorPopup() {
+ var $trigger = articleAuthorPopupTrigger;
+ var $popup = $('#article-author-popup');
+ if (!$trigger || !$trigger.length || !$popup.length || !$popup.is(':visible')) return;
+
+ var rect = $trigger[0].getBoundingClientRect();
+ var triggerCenterX = rect.left + rect.width / 2;
+ var gap = 12;
+
+ $popup.css({ visibility: 'hidden', display: 'block' });
+ var popupWidth = $popup.outerWidth();
+ var popupHeight = $popup.outerHeight();
+ var left = triggerCenterX - popupWidth / 2;
+ var top = rect.top - popupHeight - gap;
+ var isBelow = false;
+
+ left = Math.max(8, Math.min(left, window.innerWidth - popupWidth - 8));
+ if (top < 8) {
+ top = rect.bottom + gap;
+ isBelow = true;
+ }
+
+ var arrowLeft = triggerCenterX - left;
+ arrowLeft = Math.max(16, Math.min(arrowLeft, popupWidth - 16));
+
+ $popup.toggleClass('is-below', isBelow);
+ $popup.css({
+ left: left + 'px',
+ top: top + 'px',
+ visibility: 'visible'
+ });
+ $popup.find('.article-author-popup-arrow').css('left', arrowLeft + 'px');
+}
+
+function showArticleAuthorPopup($trigger, authorName, affiliation) {
+ var $popup = $('#article-author-popup');
+ if (!$popup.length) {
+ $('body').append(
+ '
'
}
+ var authorLink = '';
if (i == j_authior.length - 1) {
- stra += j_authior[i].author_name + '' + j_authior[i].ors + rep + '' + ORC_ID + mes
+ stra += authorLink + '' + j_authior[i].ors + rep + '' + ORC_ID + mes
} else {
- stra += j_authior[i].author_name + '' + j_authior[i].ors + rep + '' + ORC_ID + mes + ', '
+ stra += authorLink + '' + j_authior[i].ors + rep + '' + ORC_ID + mes + ', '
}
}
@@ -726,6 +986,7 @@ function article_con() {
str += strg + "";
$('.wen_jian .left>div.zuo_zhe').html(str);
+ initArticleAuthorPopup(j_organ);
$('.wen_jian .left>div.zuo_zhe>sup').css({
color: commonSupColor,
});