diff --git a/src/mip-story/mip-story-bookend.js b/src/mip-story/mip-story-bookend.js index db691b727..d39181457 100644 --- a/src/mip-story/mip-story-bookend.js +++ b/src/mip-story/mip-story-bookend.js @@ -118,7 +118,7 @@ define(function (require) { + (item.cover || " ") + '>' + '
' + (item.title || '') + '
' + '' + (item.from || '') + '' + '' + share.title + '
' + '' + '' + share.from + '' + '' diff --git a/src/mip-story/mip-story-service.js b/src/mip-story/mip-story-service.js index d4e4eda27..586ceabdb 100644 --- a/src/mip-story/mip-story-service.js +++ b/src/mip-story/mip-story-service.js @@ -61,6 +61,25 @@ define(function (require) { this.nextEle = storyViews[this.nextIndex].customElement; } + /** + * 找到指定为某标签的父元素 + * + * @param {Dom} el + * @param {String} tagName + * @returns {Dom} + */ + function findParent(el, tagName) { + tagName = tagName.toLowerCase(); + + while (el && el.parentNode) { + el = el.parentNode; + if (el.tagName && el.tagName.toLowerCase() === tagName) { + return el; + } + } + return null; + } + MIPStoryService.prototype.build = function () { // 初始化滑动组件 var self = this; @@ -245,19 +264,21 @@ define(function (require) { // 推荐 if (dm.contains(recommend, e.target)) { - var ele = storyEle.querySelector('.item-from'); - var src = e.target.getAttribute('data-src'); - if (e.target.nodeName.toLocaleLowerCase() === 'a' && ele != e.target) { - var href = e.target.getAttribute('href'); - e.preventDefault(); + var target = e.target; + var eleParent = findParent(target, 'a'); + e.preventDefault(); + // 推荐链接 + if (target.nodeName.toLocaleLowerCase() !== 'span') { + var href = eleParent.getAttribute('href'); window.top.location.href = href; return; } - if (ele === e.target && src) { - e.preventDefault(); - window.top.location.href = src; + // 来源链接 + var src = target.getAttribute('data-src'); + if (!src) { + return; } - return; + window.top.location.href = src; } // 返回上一页 diff --git a/src/mip-story/mip-story.less b/src/mip-story/mip-story.less index c7e48a8e6..7f61ed2d6 100644 --- a/src/mip-story/mip-story.less +++ b/src/mip-story/mip-story.less @@ -994,9 +994,11 @@ mip-story-layer[template=thirds] { flex-direction: column; -ms-flex-pack: center; justify-content: center; - span { + span, p { font-size: 18px; line-height: 1.5; + color: #fff; + padding: 0; &:nth-child(2) { font-size: 10px; opacity: .6; @@ -1012,7 +1014,7 @@ mip-story-layer[template=thirds] { @media only screen and (min-width: 320px) { .recommend-detail { padding-right: 30px; - span { + p { font-size: 14px; } } @@ -1020,7 +1022,7 @@ mip-story-layer[template=thirds] { @media only screen and (min-width: 375px) { .recommend-detail { padding-right: 32px; - span { + p { font-size: 16px; } } @@ -1028,7 +1030,7 @@ mip-story-layer[template=thirds] { @media only screen and (min-width: 414px) { .recommend-detail { padding-right: 34px; - span { + p { font-size: 18px; } }