javascript - 向下滚动 iFrame - jQuery/JS

标签 javascript jquery html iframe scroll

我试图通过点击一个不在 iFrame 内的按钮来滚动我的 iFrame,我还不太了解 Javascript/jQuery,我正在学习,所以也许有人可以在这里帮助我? 我会更具体,单击图像(imgcast1 到 imgcast4,如您在代码中看到的那样)iFrame 将滚动到某个点,如果您打开 iFrame src 可以看到 iFrame 内容,如果您想查看整个网站,但有很多错误在这里打开它:
http://www.flamingpanda.xpg.com.br/ (由于 XPG 而无法在 Chrome 中打开,因此出现了很多广告,至少在我的 PC 中没有)

这是完整的代码: http://jsfiddle.net/9pfzX/2/

<table height="424px" width="288px">
<tr><td><img onclick="AutocastRoll()" name="imgcast1" id="imgcast1" src="Img/cast1img.png" /></td></tr>
<tr><td><img name="imgcast2" id="imgcast2" src="Img/cast2img.png" /></td></tr>
<tr><td><img name="imgcast3" id="imgcast3" src="Img/cast3img.png" /></td></tr>
<tr><td><img name="imgcast4" id="imgcast4" src="Img/cast4img.png" /></td></tr>

// IFRAME WHICH WOULD BE SCROLLED TO 440PX THEN 880PX (ALWAYS +440PX)...
<div id="iFrameAutocast"><iframe name="iframepopup" id="iframepopup" scrolling="no"   frameborder="0" width="376px" height="439px"   src="http://www.flamingpanda.xpg.com.br/iFrameAutocast1.html"></iframe></div>

-

<script>
$(document).ready(function (){
    alert("Testing jQuery: Loaded and Executed");
    $('#imgcast1').click(function() {
        //SCROLL FOWN FUNC
    });
// ---------------------------------------------
    $('#imgcast2').click(function() {
        //SCROLL FOWN FUNC
    });
// ---------------------------------------------
    $('#imgcast3').click(function() {
        //SCROLL FOWN FUNC
    });
// ---------------------------------------------     
    $('#imgcast4').click(function() {
        //SCROLL FOWN FUNC
    });

});
</script>

最佳答案

您可以通过 div '#iFrameAutocast' 滚动而不是 <iframe> .由于跨域策略,操作 <iframe> 变得更加困难。 , 基本上你可以用 .contents() 访问里面的任何东西.但这并不是一直有效,我以前遇到过一些问题,我在你的问题中尝试过它,但它不知何故不起作用。

var iframe = $('#iFrameAutocast frame').contents();
iframe.scrollTop(880);

另一种解决方案是使用 <iframe> 滚动的 parent '#iFrameAutocast' :

$(document).ready(function () {

var by = 440;//scroll increment
/* base on your markup structure and what you are trying to achieve 
   you can trim it down using .each() and scrolling by an increment
*/
$('tr td img').each(function (index) {
    $(this).click(function () {
        $('#iFrameAutocast').scrollTop(by * index)
        //or with some animation:
        //$('#iFrameAutocast').animate({scrollTop:by * index},'slow');
    });
});

});

查看此 jsfiddle 更新:jsfiddle.net/9pfzX/3/

关于javascript - 向下滚动 iFrame - jQuery/JS,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21150201/

相关文章:

php - 在表单中使用名称 ="something[]"

javascript - Soundcloud html5 小部件在 IE 中不可见

javascript - 编写 JavaScript 测试来测试其他函数的调用,而不实际调用它们

javascript - 用于实例验证的 ES/TS 装饰器

Javascript反射,用字符串调用方法

javascript - 使用 'for-in' 访问对象内部的对象?

javascript - 监听网页的 HTML/CSS 事件

html - 从单行输出中删除 html/xml <tags> 的最简单方法

javascript - 从复选框名称中删除多余的字符

javascript - 如何在页面滚动上粘贴元素