试图完成加载多个页面的“幻灯片”效果

时间:2013-12-24 16:59:29

标签: javascript php jquery html

我发出请求,某人基本上想要一个主页面,其顶部是徽标,页面的其余部分将加载一系列页面(由静态数组填充),然后重复自己。 / p>

我的目的是在“内容”中加载页面。 div元素,等待一段时间(我只列出2秒进行测试),然后加载下一页。当它到达数组的末尾时,我希望数组重置,以便不断加载。

我确定可能有更好的方法来做到这一点,但通过我的研究,这似乎是最简单的。

任何帮助,或指向另一个方向的人都非常感激。

为清晰起见编辑 我正在寻找的是一个母版页,它只是在页面顶部有一个标题。页面的其余部分将由单个div元素(或者如果需要的话,iFrame)组成,并且所述元素的内容将在确定的时间量之后自动地改变而没有输入。该元素最初会加载“testdata.php”。在一段确定的时间之后,div元素会重新加载“testdata1.php”,它由完全不同的数据库调用组成。

我希望这有助于更好地描述我希望实现的目标。

到目前为止我所拥有的:

<!doctype html>
<html xmlns="http://www.w3.org/1999/xhtml" dir="ltr" lang="en-US" xml:lang="en">
<head>
    <meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
    <meta http-equiv="X-UA-Compatible" content="IE=EmulateIE7" />
    <script type="text/javascript" src="scripts_css/jquery.js"></script> 
</head>
<body>
    <div style="background-color: #E0E0E0; height: 150px; width: 100%; margins: 0 auto;"> 
        <img src="images/logo.png"/>
    </div>
    <div id="content" style="height: 850px;"></div>
</body>
<script>
    var linkArray=[ "testdata.php",
                    "testdata1.php"];

    for (var i=0; i < linkArray.length; i++) {
        setTimeout(function(){$("#content").load(linkArray[i])},2000);

        if (i === (linkArray.length-1))
            i = 0;
        }            
</script>

2 个答案:

答案 0 :(得分:0)

我知道这不是很有帮助,并不直接解决您的问题,但您可能想尝试使用jQuery( http://jquery.com/)。你可以这样:

$(document).ready(function() {
    // Set timeout to 2 seconds
    var array = ['page1', 'page2'];

    document.write(array[1].href);
});

或者,您可以使用某些服务器端脚本,如ruby或PHP。

答案 1 :(得分:0)

这最终为我做了诀窍:

<!doctype html>
<html xmlns="http://www.w3.org/1999/xhtml" dir="ltr" lang="en-US" xml:lang="en">
<head>
    <meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
    <meta http-equiv="X-UA-Compatible" content="IE=EmulateIE7" />
    <script type="text/javascript" src="scripts_css/jquery.js"></script> 
</head>
<body>
    <div style="background-color: #E0E0E0; height: 150px; width: 100%; margins: 0 auto;">
        <img src="images/logo.png"/>
    </div>
    <div id="content" style="height: 850px;"></div>
</body>
<script>
    var linkArray=[ "testdata.php",
                    "testdata1.php"];

    var timeout = 0;
    var counter = 0;
    var arrayCount = linkArray.length; 

    changeContent(timeout, counter, arrayCount);        

    function changeContent(def_timeout, def_counter, def_arrayCount) {

        //setTimeout(function() {$("#content").load(linkArray[def_counter])}, def_timeout);
        $("#content").load(linkArray[def_counter]);

        def_counter++;

        if (def_counter >= def_arrayCount)
            def_counter = 0;

        def_timeout = def_timeout + 5000;

        setTimeout(function() {changeContent(def_timeout, def_counter, def_arrayCount)}, 5000);
        }        

</script>