簡體   English   中英

當元素已加載到HTML頁面中時運行javascript

[英]Run a javascript when an element has loaded into the HTML page

我有一個腳本,可將一些HTML代碼加載到<div id="nav">元素中。

div元素位於index.html中。

加載腳本如下所示,並在加載index.html時運行。

$(document).ready(function () {
    $('#nav').load('nav.html');
});

nav.html包含要加載到<div id="nav">元素中的代碼

nav.html:

<!DOCTYPE html>
<html xmlns="http://www.w3.org/1999/xhtml">
<meta http-equiv="content-type" content="text/html;charset=utf-8">
<title>Nav</title>

<body>
<nav class="navbar navbar-default" role="navigation">
    <div class="container-fluid">
        <!-- Brand and toggle get grouped for better mobile display -->
        <div class="navbar-header">
            <button type="button" class="navbar-toggle collapsed" data-toggle="collapse"
                    data-target="#bs-example-navbar-collapse-1">
                <span class="sr-only">Toggle navigation</span>
                <span class="icon-bar"></span>
                <span class="icon-bar"></span>
                <span class="icon-bar"></span>
            </button>
            <a class="navbar-brand" href="#">Brand</a>
        </div>
        <div class="collapse navbar-collapse" id="bs-example-navbar-collapse-1">
            <ul class="nav navbar-nav">
                <li id="nav_item_start"><a href="index.html">Start</a></li>
                <li id="nav_item_2"><a href="page2.html">page2</a></li>
                <li id="nav_item_3"><a href="page3.html">page3</a></li>
                <li id="nav_item_4"><a href="page4.html">page4</a></li>
            </ul>
            <ul class="nav navbar-nav navbar-right">
                <li>
                    <button type="button" class="btn btn-default navbar-btn" onclick="increaseFontSize()">Ändra kontrast</button>
                </li>
                <li>
                    <button id="nav_signin" type="button" class="btn btn-default navbar-btn"
                            onclick="location.href='signin.html'">Logga
                        in
                    </button>
                </li>
            </ul>
        </div>
    </div>
</nav>
</body>
</html>

我希望將nav.html代碼加載到div元素運行腳本。 是否有用於此問題的回調方法,或解決此問題的任何其他標准方法?

這是我要如上所述運行的JavaScript:

setTimeout(myFunction, 200);
function myFunction(){
    //Manipulating the nav.html code 
}

這種方法的問題在於,nav.html代碼的加載可能需要200毫秒以上的時間,從而導致腳本無效。

非常感謝這里的任何幫助

馬庫斯

load()方法的第二個參數是一個回調函數,它將在AJAX請求完成后執行。 嘗試這個:

$('#nav').load('nav.html', function(){
    //Manipulating the nav.html code 
});

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM