0

在滚动 div 内创建Poshy Tip时,当 div 滚动时,tip 不会移动。

看到这个小提琴

我假设这是因为提示 div 是滚动容器 div 的子级,<body>而不是滚动容器 div 的子级。

有没有办法解决这个问题?

4

3 回答 3

1

JSFIDDLE v2

描述:

PoshyTip 实际上是在文档的末尾创建的,并给定了一个 position:absolute 的 top:0px 和一个 z-index:1000 ,这意味着它将始终覆盖正文并定位到它。为了使其工作,您必须更改 DOM 以将 PoshyTip 移动到 Click me 中,因此它看起来像这样:

<span id="tip">Click me
    <div class="tip-yellow" style="visibility: inherit; left: 62px; top: 0px; border: 0px; padding: 0px; background-image: none; background-color: transparent; opacity: 1;"><table class="tip-table" border="0" cellpadding="0" cellspacing="0" style="width: 169px;"><tbody><tr><td class="tip-top tip-bg-image" colspan="2" style="background-image: url(http://vadikom.com/demos/poshytip/src/tip-yellow/tip-yellow.png);"><span></span></td><td class="tip-right tip-bg-image" rowspan="2" style="background-image: url(http://vadikom.com/demos/poshytip/src/tip-yellow/tip-yellow.png);"><span></span></td></tr><tr><td class="tip-left tip-bg-image" rowspan="2" style="background-image: url(http://vadikom.com/demos/poshytip/src/tip-yellow/tip-yellow.png);"><span></span></td><td style="width: 100%;"><div class="tip-inner tip-bg-image" style="background-image: url(http://vadikom.com/demos/poshytip/src/tip-yellow/tip-yellow.png);">Scroll and I won't move</div></td></tr><tr><td class="tip-bottom tip-bg-image" colspan="2" style="background-image: url(http://vadikom.com/demos/poshytip/src/tip-yellow/tip-yellow.png);"><span></span></td></tr></tbody></table><div class="tip-arrow tip-arrow-left" style="visibility: inherit;"></div></div>
</span>

接下来,您将需要设置 SPAN 位置:相对,因此它将是这样的:

<span id="tip" style="position:relative;">Click me

最后你需要为tip-yellow类设置top:-8px

<div class="tip-yellow" style="top:-8px; visibility: inherit; left: 62px; top: 0px; border: 0px; padding: 0px; background-image: none; background-color: transparent; opacity: 1;">
于 2013-08-05T12:51:56.537 回答
0

我不熟悉这个插件,但是在我在网上浏览它之后,我得到了关于你问题的答案

您可以查看工具提示扭曲的样式属性,并看到它包含“左”和“右”属性。没有位置 css 属性,为其获取默认值“静态”。

您可以阅读更多关于“位置”属性的一般信息和“静态”值,特别是在 w3c上。一般来说,我可以告诉你,只要“位置”属性不是“固定”的,元素就不会固定到第一个“位置:相对”div

于 2013-08-05T12:43:52.360 回答
0

既然 poshytip 覆盖主体并定位到主体,为什么不能更改源文件 jquery.poshytip.js,将“.appendTo(document.body)”替换为“.insertAfter(this.$elm)”。然后提示可以与滚动元素一起滚动。

于 2014-01-05T05:33:49.890 回答