Javascript iframe src内的Access div元素
我正在尝试创建按钮来上下滚动div。我已经下载了名为vectordiv.js的javascript文件(从这里:) 可以在此处预览javascript文件: 我将此功能与测试div完美结合。注释位于JS文件的顶部,说明如何使用,但基本上您可以调用: vectorDiv('controll element id','div id','direction to scroll') 我有一个带有src=“index.php”的iFrame,例如。。。在index.php中,我有几个div。当我尝试传递div的名称(“currentroom_left”)时,我从JS收到一条消息,说 找不到ID为“currentroom_left”的元素。必须配置脚本 在所有相关元素下方的某个点 我的脚本在我的iframe代码和控制按钮下面,但是,这个javascript文件似乎无法访问iframe src中的元素。。。所有文件都在同一个域中,但不在同一个目录中(不确定这是否重要) 这是代码中找不到我的div id的部分:Javascript iframe src内的Access div元素,javascript,jquery,html,iframe,scroll,Javascript,Jquery,Html,Iframe,Scroll,我正在尝试创建按钮来上下滚动div。我已经下载了名为vectordiv.js的javascript文件(从这里:) 可以在此处预览javascript文件: 我将此功能与测试div完美结合。注释位于JS文件的顶部,说明如何使用,但基本上您可以调用: vectorDiv('controll element id','div id','direction to scroll') 我有一个带有src=“index.php”的iFrame,例如。。。在index.php中,我有几个div。当我尝试传递d
this.$ = function( id )
{
var elem = document.getElementById( id );
if( !elem || elem.id !== id )
{
elem = null;
alert( 'Element with ID "' + id + '" not found.\n\nScript must be configured at a point BELOW all involved elements.' );
}
return elem;
}
我不打算在其他任何地方使用它,所以我在JS中硬编码我的iFrame id没有问题。。我试着把它改成:
this.$ = function( id )
{
var elem = document.getElementById('ozechat_iframe').contentWindow.document.getElementById( id );
alert(elem);
if (elem == null)
{
var elem = document.getElementById( id );
}
alert(elem);
if( !elem || elem.id !== id )
{
elem = null;
alert( 'Element with ID "' + id + '" not found.\n\nScript must be configured at a point BELOW all involved elements.' );
}
return elem;
}
这似乎停止了错误,但没有滚动内部分区。。。有什么想法吗?您选择的库在跨框架的情况下似乎不起作用。 因此,您可以执行以下操作:
- 在iframe中实现相同的流
- 在顶层添加一个按钮,该按钮基本上单击iframe中的按钮
- 在iframe中隐藏按钮
纸卷
Iframe:
<html>
<body>
<button id="btn" style="display:none">Scroll</button>
<div id="scrlDiv" style="height:100px">
<div style="height:600px">Scroll me</div>
</div>
<script type='text/javascript' src='vectordiv.js'></script>
<script type='text/javascript'>
vectorDiv( 'btn', 'scrlDiv', "down" );
</script>
</body>
</html>
纸卷
滚动我
vectorDiv(‘btn’、‘scrlDiv’、‘down’);
你能给我看一下fiddle中urs的输出吗..我想你不能直接访问iframe的内容。如果你想在iframe中找到一个元素,您必须确保iframe已完成加载,然后必须从iframe获取文档并在该文档中搜索-它与包含iframe的文档不同。
<html>
<body>
<button id="btn" style="display:none">Scroll</button>
<div id="scrlDiv" style="height:100px">
<div style="height:600px">Scroll me</div>
</div>
<script type='text/javascript' src='vectordiv.js'></script>
<script type='text/javascript'>
vectorDiv( 'btn', 'scrlDiv', "down" );
</script>
</body>
</html>