Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/399.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 如何将iframe设置为在使用jQuery完成加载后自动平滑滚动到底部_Javascript_Jquery_Html_Css_Iframe - Fatal编程技术网

Javascript 如何将iframe设置为在使用jQuery完成加载后自动平滑滚动到底部

Javascript 如何将iframe设置为在使用jQuery完成加载后自动平滑滚动到底部,javascript,jquery,html,css,iframe,Javascript,Jquery,Html,Css,Iframe,我想为显示不同的网站设置一个演示文稿。它使用jQuery动态更改iframeURL自动加载。但我想自动平滑滚动iframe内容到它的底部后,完成加载每个网站 我的代码是 <html> <head> <title>Eximuz</title> </head> <body> <div style="height: auto"><iframe name="ifrm" id="ifrm" src

我想为显示不同的网站设置一个演示文稿。它使用jQuery动态更改iframeURL自动加载。但我想自动平滑滚动iframe内容到它的底部后,完成加载每个网站

我的代码是

<html>
 <head>
    <title>Eximuz</title>

  </head>

<body>

<div style="height: auto"><iframe name="ifrm" id="ifrm" src="http://eximuz.com" scrolling="auto"  style="border: 0; position:absolute; top:0; left:0; right:0; bottom:0; width:100%; height:100%" ></iframe>
</div>
<div id="footer"></div>
</body>

<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.3/jquery.min.js"></script>
<script>

function scroll_to_end() {
var frame = window.frames.ifrm;
var doc   = frame.document;
var node  = doc.getElementsByTagName('body')[0].lastChild;

var y = parseInt(node.offsetTop, 10);

frame.scrollTo(0, y);
</script>
<script>

var link_arr = ['http://ibellsworld.com','http://worldarchitecturetravel.com'];
function loadIframe(iframeName, url) {
        var $iframe = $('#' + iframeName);
        if ( $iframe.length ) {
            $iframe.attr('src',url);   
            return false;
        }
        return true;
    }

var i = 0;
var arr_length = link_arr.length;
$('#ifrm').load(function(){

    scroll_to_end();
    setTimeout(function(){
        loadIframe('ifrm', link_arr[i]);
        if(i == link_arr.length-1){
            i = 0;
        }else{

            i++;
        }


    },4000);
});

</script>

</html>

埃希姆兹
功能滚动到结束(){
var frame=window.frames.ifrm;
var doc=frame.document;
var node=doc.getElementsByTagName('body')[0];
var y=parseInt(node.offsetTop,10);
帧。滚动到(0,y);
var link_arr=['http://ibellsworld.com','http://worldarchitecturetravel.com'];
函数loadIframe(iframeName,url){
变量$iframe=$(“#”+iframeName);
如果($iframe.length){
$iframe.attr('src',url);
返回false;
}
返回true;
}
var i=0;
var arr_length=链路arr.length;
$('#ifrm').load(函数(){
滚动_至_end();
setTimeout(函数(){
加载帧('ifrm',link_arr[i]);
if(i==链路阵列长度-1){
i=0;
}否则{
i++;
}
},4000);
});
滚动到iframe内容的底部是不平滑的。如何做到这一点?

您不能。 如果使用以下脚本,则无法在使用iframe加载的页面上运行任何脚本:

相关问题:

同样的问题:

“…由于某些原因,您的小部件和页面托管在不同的域中,因此您无法通过脚本从iframe访问父页面…”

你不能。 如果使用以下脚本,则无法在使用iframe加载的页面上运行任何脚本:

相关问题:

同样的问题:

“…由于某些原因,您的小部件和页面托管在不同的域中,因此您无法通过脚本从iframe访问父页面…”


您忘记发布
滚动到\u结尾
功能,这可能会进行滚动,但是您通常无法访问来自不同来源的iframe,但是滚动iframe窗口应该是可行的。@adeneo,我忘记添加有问题的内容。我现在被添加了。但是该功能不起作用。您忘记发布
滚动到\u结尾函数,这可能会进行滚动,但是您通常无法访问来自不同来源的iframe,但是滚动iframe窗口应该是可行的。@adeneo,我忘了添加有问题的内容。我现在被添加了。但该函数不起作用。但我已经动态加载了网站。我只想在完成后滚动到底部正在加载。要滚动页面,您必须在页面上执行JavaScript。您不能在任何非您的域上执行JavaScript OK。现在没有滚动iframe内容的选项吗?唯一的方法是使用代理从您的域为页面提供服务。但这不是一项简单的任务。抱歉:((或要求用户按pagedown)或者建议不使用iframe显示网站的任何其他选项?但我已经动态加载了网站。我只想在加载完成后滚动到底部。要滚动页面,您必须在页面上执行JavaScript。您不能在非您的域的任何域上执行JavaScript OK。现在没有滚动iframe内容的选项吗唯一的方法是使用代理从您的域提供页面服务。但这不是一项琐碎或简单的任务。抱歉:((或要求用户按下pagedown)或建议任何其他选项来显示不使用iframe的网站?