2013-03-06 206 views
0

因此,我正在为浏览器制作一个基于JS的游戏,并且我想从游戏的查看器中隐藏大量内容,并且我为此使用了iframe。在某些浏览器中,当你点击空格键时,它会自动向下滚动屏幕,当玩家点击空格键时,页面内部会滚动,而我希望玩家看到的内容最终在屏幕外显示。所以我想知道是否有任何方法来防止iframe完全滚动。 (我确实有scrolling="no"作为iframe属性之一,它并没有做到这一点)防止iframe滚动

我也试过overflow:hidden;在CSS中,但似乎没有帮助。它会阻止iOS和Android浏览器中的浏览器无法滚动,但在桌面浏览器中,问题仍然存在。

这里就是我所做的

<iframe id="gameframe" name="Double Edge" height="576" width="1024" src="gameStart.html" scrolling="no"></iframe> 

在CSS:

.gameframe{ overflow:hidden;} 

感谢

+0

如何展示一些代码?您是否在CSS或HTML中定义了滚动属性? – 2013-03-06 07:32:30

+0

我有它在HTML中定义。 – 2013-03-06 07:35:49

+0

似乎像在html中滚动越来越被弃用,但溢出:隐藏应该工作。所以最好如果你可以做一些例子(也许在[小提琴](http://jsfiddle.net/) – 2013-03-06 07:43:19

回答

0

如果你有,你想从用户隐藏页面上的内容,但需要做的你应该使用“display:none”。 所以没有什么可滚动的,你不必处理不同的可能性用户可以如何达到你的隐藏内容。

+0

以及...如果我有一些内容是在页面的中途,但在页面中的一部分,如果它像现在这样,约70%的一个游戏资产坐在游戏框架内,另外30%坐在游戏框架之外....我会如何照顾这样的事情? – 2013-03-06 07:44:02

+0

我不确定我是否得到了您的问题...如果你在你的IFrame中有html元素,你不想显示,我会在它们上使用“display:none”。 – 2013-03-06 07:51:54

+0

其中一个元素是框架中的一半,框架的一半,我想显示上半部分元素但不是下半部分,这就是为什么它是显示区域的一半。 – 2013-03-06 07:53:23

0

尝试添加该onload

var el = document.createElement("iframe"); 
var iframe_style = "overflow:hidden; margin:0;padding:0;" 
var ifattr = { 
     id: 'my_iframe', width: '520', height: '300', 'scrolling': 'no', 'marginWidth':0, 
     'marginHeight':0, 'noResize': 0, 'border': 0, 'frameBorder':0, 'frameSpacing':0, 
     'background': 'transparent','allowTransparency': 'allowTransparency', 
     'name' :'my_iframe','style':iframe_style}; 

for (var i in ifattr) { 
     el.setAttribute(i, ifattr[i]); 
}a 
+0

nope没有工作......但谢谢 – 2013-03-06 08:10:16