【发布时间】:2023-03-23 21:43:01
【问题描述】:
我有一个滚动菜单 (ul),当悬停在列表项上时,它会创建一个悬停副本。当元素溢出时,此菜单有一个滚动条。由于悬停副本的顶部和左侧正是列表项的顶部和左侧,因此它会阻止菜单滚动。
这是我正在使用的代码以及jsfiddle。 小提琴的样式是这样使用的,我将在下面发布代码以供快速参考
相关Html(很多李氏会导致溢出):
<div class='popup'>
<div class="page">
<div class="pagescroll">
<ul>
<li class="li-page">Hovering</li>
...
<li class="li-page">Hovering</li>
</ul>
</div>
<ul class="noteslist">
<li class="box contents-selected">
<p contenteditable='true' contenteditable="true" class="contents">Note contents...</p>
</li>
<li class="box contents-selected">
<p contenteditable='true' contenteditable="true" class="contents">Note contents...</p>
</li>
<li class="box contents-selected">
<p contenteditable='true' contenteditable="true" class="contents">Note contents...</p>
</li>
<li class="box contents-selected">
<p contenteditable='true' contenteditable="true" class="contents">Note contents...</p>
</li>
<li class="box contents-selected">
<p contenteditable='true' contenteditable="true" class="contents">Note contents...</p>
</li>
</ul>
</div>
</div>
Javascript:
PageHoverActions();
function PageHoverActions() {
var fontAnimateTimer;
//Adds hover
$('.li-page').on('mouseover', function (e) {
if (fontAnimateTimer) {
window.clearInterval(fontAnimateTimer);
}
var el, hoverel, fontSize, rect;
el = this;
rect = el.getBoundingClientRect(); //rect alows us to position things beautifully
fontSize = 12;
$('.li-page-hover').remove();
//hoverel is the hovering element
hoverel = $(this)
.clone()
.addClass('li-page-hover')
.css({
'top': rect.top,
'left': rect.left
})
.appendTo(document.body)
.click(PageClickActions);
//Magnifies text
fontAnimateTimer = window.setInterval(function () {
if (fontSize < 20) {
hoverel[0].style.fontSize = fontSize + 'pt';
fontSize++;
} else {
window.clearInterval(fontAnimateTimer);
}
}, 20);
});
}
【问题讨论】:
标签: javascript jquery html css