繁体   English   中英

当我插入另一个脚本时脚本停止工作

[英]Script stops working when I insert into another script

我有一个正在杀死我的问题,因为我不明白为什么它不起作用。 我已经在一个可以使用的文件中制作了一个脚本,但是当我将其复制/粘贴到我希望其使用的文件中时,它将不起作用。 这是我刚刚编写的脚本:

<html>
<body>
<p id="myElement"></p>
    <script>
        if (window.location.hash == "#hello") {
            document.getElementById("myElement").innerHTML = 'Vi har Hello';
        } else {
            document.getElementById("myElement").innerHTML = '';
        }
    </script>
</body>
</html>

在这里它可以工作,但是当我将它插入文件时,它就不起作用了。 这里是:

<html>
<head>
    <title>...</title>
    <meta charset="utf-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0, maximum-scale=1.0, user-scalable=no">
    <link href="layout/styles/layout.css" rel="stylesheet" type="text/css" media="all">
    <link rel="shortcut icon" href="images/favicon.ico">
</head>
<body id="top">
    <div id="forside"></div>
    <div class="bgded overlay" style="background-image:url('images/stor_1.png');"> 
        <div id="pageintro" class="hoc clear">
            <li>
                <p></p><h2>Log ind</h2>
                <p id="myElement"></p>
                <script>
                    if (window.location.hash == "#hello") {
                    document.getElementById("myElement").innerHTML = 'Vi har Hello';
                    } else {
                    document.getElementById("myElement").innerHTML = '';
                    }
                </script>
                <div id="comments">
                    <font color="black">
                        <form action="proces.php" method="post">
                            <input class="form-control" type="text" id="name" size="22" name="username" placeholder="Brugernavn" required><br>
                            <input class="form-control" type="password" id="name" size="22" name="pass" placeholder="Kodeord" required><br> 
                            <input type="submit" name="submit" value="Log Ind!">
                        </form>
                    </font><br>
                    <a href="index.php"><i class="fa fa-chevron-left" aria-hidden="true"> Tilbage til forsiden</i></a>
                </div>
            </li>
        </div>
    </div>
<?php include_once "footer.php"; ?>
<a id="backtotop" href="#top"><i class="fa fa-chevron-up"></i></a>
    <script src="layout/scripts/jquery.min.js"></script>
    <script src="layout/scripts/jquery.mobilemenu.js"></script>
</body>
</html>

我要插入的脚本的作用是检测URL中是否包含#Hello,如果存在,则必须显示一些文本...但是它将无法工作。

有人对我可能做错了什么有想法吗?

您的代码仅在首次加载页面文档时运行一次,如果您确实想在每次更改哈希值时对其进行检查,则最好放置一个更改回调。 请确保您的jQuery相对路径正确。

$(function() { // ensure you will execute script after document loaded

    $(window).on('hashchange', function() {   // put you code in side change callback.
        if (window.location.hash == "#hello") {
            document.getElementById("myElement").innerHTML = 'Vi har Hello';
        } else {
            document.getElementById("myElement").innerHTML = '';
        }
    });
});

 <html> <head> <title>...</title> <meta charset="utf-8"> <meta name="viewport" content="width=device-width, initial-scale=1.0, maximum-scale=1.0, user-scalable=no"> <link href="layout/styles/layout.css" rel="stylesheet" type="text/css" media="all"> <link rel="shortcut icon" href="images/favicon.ico"> </head> <body id="top"> <div id="forside"></div> <div class="bgded overlay" style="background-image:url('images/stor_1.png');"> <div id="pageintro" class="hoc clear"> <li> <p></p> <h2>Log ind</h2> <p id="myElement"></p> <script> </script> <div id="comments"> <font color="black"> <form action="proces.php" method="post"> <input class="form-control" type="text" id="name" size="22" name="username" placeholder="Brugernavn" required> <br> <input class="form-control" type="password" id="name" size="22" name="pass" placeholder="Kodeord" required> <br> <input type="submit" name="submit" value="Log Ind!"> </form> </font> <br> <a href="index.php"><i class="fa fa-chevron-left" aria-hidden="true"> Tilbage til forsiden</i></a> </div> </li> </div> </div> <a id="backtotop" href="#top"><i class="fa fa-chevron-up"></i></a> <script src="layout/scripts/jquery.min.js"></script> <script src="layout/scripts/jquery.mobilemenu.js"></script> <script type="text/javascript"> $(function() { $(window).on('hashchange', function() { if (window.location.hash == "#hello") { document.getElementById("myElement").innerHTML = 'Vi har Hello'; } else { document.getElementById("myElement").innerHTML = ''; } }); }); </script> </body> </html> 

尝试添加这些

<script src="layout/scripts/jquery.min.js"></script>
<script src="layout/scripts/jquery.mobilemenu.js"></script>

在头部的顶部

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM