在使用PHP包含文件时,如何正确使用JQuery onload函数


How do you use JQuery onload function properly while using PHP include files?

基本上,我的INC文件夹中有一个header.php文件
header.php

<!DOCTYPE html>
    <html lang="EN">
        <head>
            <title> <?php echo $pageTitle; ?> </title>
            <meta charset="UTF-8" />
            <meta name="viewport" content="width=device-width, initial-scale=1" />
            <!--Boostrap's CDN-->
            <link rel="stylesheet" href="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.6/css/bootstrap.min.css" integrity="sha384-1q8mTJOASx8j1Au+a5WDVnPi2lkFfwwEAa8hDDdjZlpLegxhjVME1fgjWPGmkzs7" crossorigin="anonymous">
            <link rel="stylesheet" href="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.6/css/bootstrap-theme.min.css" integrity="sha384-fLW2N01lMqjakBkx3l/M9EahuwpSfeNvV63J5ezn3uZzapT0u7EYsXMjQV+0En5r" crossorigin="anonymous">
            <script src="https://code.jquery.com/jquery-1.12.0.min.js"></script>
            <script src="https://code.jquery.com/jquery-migrate-1.2.1.min.js"></script>
            <script src="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.6/js/bootstrap.min.js" integrity="sha384-0mSbJDEHialfmuBBQP6A4Qrprq5OVfW37PRR3j5ELqxss1yVqOtnepnHVP9aJ7xS" crossorigin="anonymous"></script>
            <!--Custom CSS Styling-->
            <link rel="stylesheet" href="CSS/custom.css" type="text/css" />
        </head>
        <body onload="Slider();">
            <nav class="navbar navbar-default navbar-static-top">
                <div class="container-fluid">
                    <div class="navbar-header">
                        <a class="navbar-brand" href="index.php"> Vomica </a>
                    </div>
                    <ul class="nav navbar-nav">
                        <li class="<?php if($section == "home") {echo "active";} ?>"> <a href="index.php"> Home </a> </li>
                        <li class="<?php if($section == "buy") {echo "active";} ?>"> <a href="buy.php"> Buy </a> </li>
                        <li class="<?php if($section == "sell") {echo "active";} ?>"> <a href="sell.php"> Sell </a> </li>
                    </ul>
                    <ul class="nav navbar-nav navbar-right">
                        <li class="<?php if($section == "register") {echo "active";} ?>"> <a href="register.php"> Register </a> </li>
                        <li class="<?php if($section == "login") {echo "active";} ?>"> <a href="login.php"> Login </a> </li>
                        <li> <a href="logout.php"> Logout </a> </li>
                    </ul>
                </div>
            </nav>

正如您所看到的,我的头文件有一个body,这意味着我不能在另一个文件中调用body。所以,我想要JQuery中的一个函数,只要主体加载进来。

我该如何解决这个问题?

我意识到我可以把它放在标题中,但是,把这个函数调用到每个不需要它的页面是非常低效的

您可以使用jquery加载特定页面

$( "#Body" ).load( "ajax/slider.html", function() {
  alert( "Load was performed." );
});

其中Body是Body标记的id,slider是我们要加载到Body 上的页面

Slider可能只进入主页,而不会进入其他页面。因此,您不需要调用Slider();函数转换为body标记。

<nav>标签后使用此代码,或者在哪里添加滑块

<?php if($pageTitle=="home") { ?> //$pageTitle is some identifier to is this home page ;
  <script type="text/javascript">
      jQuery(document).ready(function($){ 
        Slider(); 
      });
  </script>
<?php } ?>

你可以用这种方式。它可能会对你有所帮助。