我有一个iframe。我通过表单提交设置iframe(不同的域名,如www.google.com)的内容。目前,它的滚动属性设置为“否”。
<iframe name="testFrame" id="testFrame" frameborder="1" scrolling="no" width="500" height="200"></iframe>
<form name="testForm" id="testForm" action="http://www.google.com" target="testFrame"></form>
<button name="testBtn" value="submit" onclick="submitForm();">submit</button>
我想动态地滚动到这个iframe。
$("#testFrame").attr('scrolling','yes');
这适用于Firefox但不适用于IE。还试过:
document.getElementById("testFrame").style.overflow="scroll";
没有运气...... :(请帮帮我......
答案 0 :(得分:2)
我们可以更改特定div或td的innerHTML(如果我们使用表格)。我正在使用桌子,它运作良好。
这是索引页面的HTML。
<body>
<table border="0">
<tr>
<td>
<button name="chk" id="chk" style="height: 50px; width:80px; cursor:pointer;" onclick="scrollme()">Click me</button>
</td>
<td id='test' style="border:1px solid">
<iframe frameborder=0 align=middle width=100% height=100% scrolling="no" src='linkframe.php' name='frm' id='frm' marginheight=0 marginwidth=0 ></iframe>
</td>
</tr>
</table>
<input type="hidden" id="tag" name="tag" value="0"/>
</body>
这是索引页面中的javascript函数。
<script type="text/javascript">
function scrollme()
{
if(document.getElementById('tag').value==0)
{
document.getElementById('test').innerHTML="<iframe frameborder=0 align=middle width=100% height=100% scrolling='yes' src='linkframe.php' name='frm' id='frm' marginheight=0 marginwidth=0 ></iframe>";
document.getElementById('tag').value=1;
}
else
{
document.getElementById('test').innerHTML="<iframe frameborder=0 align=middle width=100% height=100% scrolling='no' src='linkframe.php' name='frm' id='frm' marginheight=0 marginwidth=0 ></iframe>";
document.getElementById('tag').value=0;
}
}
</script>
答案 1 :(得分:0)
<iframe src="address" id="IFrame" frameborder=0 horizontalscrolling="no" verticalscrolling="yes"></iframe>
是我在我的网络应用程序中使用的 - 你需要使用与IE中的CSS分开的horizontalscrolling / verticalscrolling属性。
另见Dreaded iframe horizontal scroll bar can't be removed in IE?
我不知道如何在JQuery等中做到这一点。
修改强>
我认为可能需要从innerHTML创建 - 使用document.createElement('IFrame')如果我没记错的话JQuery可能会使用它 - 我认为一旦元素被创建,改变这些属性可能不起作用。
尝试使用JQuery或带有ID的HTML创建容器DIV,并调用类似:
var div = $('#MyDivID')
div.html('<iframe src="about:blank" frameborder=0 horizontalscrolling="no" verticalscrolling="yes"></iframe>')
var ifr = div.children(":first-child") // Get the IFrame created using innerHTML
ifr.src = 'ADDRESS'
我真的不知道这是否会起作用,我之前没有使用过JQuery,所以我只是继续使用JQuery文档:-P
答案 2 :(得分:0)
我试图在本地机器中复制场景,我观察到IFrame元素的存在会影响jQuery代码的执行。在页面加载时我试图抛出警告: -
$(document).ready(function() {
alert("hello");
});
但即便是这段简单的代码也不会在IE中出现。一旦我评论了IFrame部分,上面的代码就会正常执行。我尝试了对div等元素的其他jQuery操作,它们都运行顺畅。
只是我的观察或其他人之前也经历过这种情况。