我有一个 iframe 用于显示网页的主要内容;但是,无论鼠标指向何处,我都想让 IFRAME 滚动。我不希望我的访问者因为无法滚动而感到困惑,除非他们的鼠标位于 iframe 上。这可能吗?用鼠标悬停在身体上的任何地方滚动 iframe?
我不会链接任何代码,因为我拥有的唯一相关代码是 <iframe></iframe> 标记。
(正文本身不可滚动,隐藏滚动条)
好吧。我为此制定了一个相当快速而肮脏的解决方案,其中包括以下步骤:
<iframe>
为您的元素添加一个“id” 。(在我的例子中,我使用了id="myFrame"
)<script type="text/javascript" src="http://code.jquery.com/jquery-1.9.1.js"></script>
<script type="text/javascript" src="https://raw.github.com/brandonaaron/jquery-mousewheel/master/jquery.mousewheel.js"></script>
<script type="text/javascript">
var scrolloffset = 30; // amount of scrolling per mousewheel step
var myFrame = $('#myFrame'); // the iframe ID
var frameScrollPosition = 0;
$(window).mousewheel(function(event,delta){
// reset stored offset so that it matches with iframe's
frameScrollPosition = myFrame.contents().scrollTop();
var frameHeight = myFrame.contents().height() - myFrame.height();
if(delta > 0){
var newPosition = frameScrollPosition - scrolloffset;
} else {
var newPosition = frameScrollPosition + scrolloffset;
}
if(newPosition < 0){
newPosition = 0;
}
if(newPosition >= frameHeight){
newPosition = frameHeight;
}
frameScrollPosition = newPosition;
myFrame.contents().scrollTop(frameScrollPosition);
});
</script>
确保你下载了插件,而不是像我一样从 github 调用它。这只是为了测试和概念验证。