0

我正在设计一个网页,它将文档的图像加载到网页中,然后根据从另一个页面传递的变量重新定位到特定的图像(页面)。代码如下。现在,看起来变量“page”没有被更新。页面会提醒

<!DOCTYPE html> 

<html>
  <head>
    <title>TEST</title>



    <!-- Javascripts -->
    <script type="text/javascript">
    var pageCount = 40; /*Total number of pages */
    var p;  /*Variable passed to go to a specific page*/

    function pageLoad(){ /*Loads in the pages as images */

        for( i = 1; i<= pageCount; i++){
            if(i < 10){
                i = "0"+i;
            }

            document.body.innerHTML += "<div class='page'><a id='page" + i +"'><img src='pages/PI_Page_"+ i +".png' /></a></div>";
            if( i == pageCount){
                gotoPage(p);
            }
        }       
    }

    function gotoPage(pageNum){  /* Moves webpage to target page of the PI */
        window.location = ("#page" + pageNum);
        alert(p);

    }


    function Test(){    
        window.open("./PI.html?p=15","new_pop");
    }

    </script>     
  </head>




  <body onload="pageLoad()">

  <div class="ExtBtn" onClick="Test()">
    <img alt="Exit" src="design/exit_btn-02.png" />
  </div> 



  </body>

</html> 

函数 TEST() 设置为允许我有一个链接来重新打开 p 设置为 15 的页面。页面打开,但是,函数 gotoPage() 仍然提醒 p 未定义。任何想法为什么会这样?

4

3 回答 3

0

在 URL 中传递的变量不会自动成为 JavaScript 中的变量。您需要自己解析document.location和提取值。

于 2012-11-09T20:47:39.930 回答
0

p永远不会在任何地方设置值,因此它当然是未定义的。您需要手动从查询字符串中提取值,JavaScript 不会神奇地为您获取查询字符串值。

在此处使用该函数:如何在 JavaScript 中获取查询字符串值?获得价值。

另外你为什么要检查最后一个索引,在 for 循环之后设置 go 调用。

于 2012-11-09T20:53:39.067 回答
0

这是您的代码与正确的 alert(p) 工作:http: //js.do/rsiqueira/read-param ?p=15

我添加了一个“函数 get_url_param”来解析 url 并读取“?p=15”的值。

于 2012-11-09T20:59:01.210 回答