我有一个iframe用于显示我的网页的主要内容;不过,无论鼠标指向何处,我都想让IFRAME滚动。我不希望我的访问者因无法滚动而感到困惑,除非他们的鼠标悬停在iframe上。这可能吗?用鼠标悬停在身体上的任何地方滚动iframe?滚动一个iframe,而不必鼠标移动它
我不会链接任何代码,因为我唯一相关的代码是iframe> </iframe>标记<。
(身体本身不可滚动,隐藏滚动条)
我有一个iframe用于显示我的网页的主要内容;不过,无论鼠标指向何处,我都想让IFRAME滚动。我不希望我的访问者因无法滚动而感到困惑,除非他们的鼠标悬停在iframe上。这可能吗?用鼠标悬停在身体上的任何地方滚动iframe?滚动一个iframe,而不必鼠标移动它
我不会链接任何代码,因为我唯一相关的代码是iframe> </iframe>标记<。
(身体本身不可滚动,隐藏滚动条)
好的。我放在一起为这个相当快速和肮脏的解决方案,包括以下步骤:
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>
确保您download插件,并从GitHub像我这样不叫。这只是为了测试和概念验证。
你说什么,但没有什么不同是发生:(在Chrome,Safari和Firefox测试。这项工作为你测试它吗? – 2013-02-23 19:39:36
可能与此代码冲突的事情是,iFrame本身不滚动 - 我使用iframe源代码中的滚动条而不是让iframe本身滚动它的内容问题是否可以解决?(如果我改变它,以便iframe滚动,我会在某些浏览器中丢失自定义滚动条。) – 2013-02-23 19:41:37
(抱歉,延迟响应,我在度假!)感谢您的帮助: ) – 2013-02-23 20:48:40
我找不到任何与谷歌或本网站相关的东西:( – 2013-02-15 17:55:51
我认为这将是可能的使用JavaScript以某种方式......我不是太知道JS的创建它虽然。东西与定义整个< body>的鼠标悬停区域被链接到iframe,所以滚动鼠标滚轮在框架边界外仍然滚动它 – 2013-02-15 18:41:20
我想我需要有人给我写一段代码,基本上说:“body.hover(或body onmouseover)滚动iframeid“或类似的哈哈,就像我说我在JS失败。 – 2013-02-15 18:50:42