小编Sar*_*tel的帖子

在 WordPress 站点中加载 jquery.js 后加载 javascript 代码

我在 WordPress 网站的主页上有一个基于 jquery 的自定义滑块。我正在我的主题的functions.php文件中使用以下代码加载jQuery(jquery.js)和滑块js(jquery.advanced-slider.js)。

function my_load_scripts() {
  if (!is_admin()) {
    wp_enqueue_script("jquery");

    if (is_home()) {
      wp_enqueue_script('theme-advanced-slider', get_template_directory_uri().'/js/jquery.advanced-slider.js', array('jquery'));
      wp_enqueue_script('theme-innerfade', get_template_directory_uri().'/js/innerfade.js', array('jquery'));
    }
  }
}
Run Code Online (Sandbox Code Playgroud)

add_action('wp_enqueue_scripts', 'my_load_scripts');

现在我把下面的代码放在我的 header.php 文件之前 wp_head();

<script type="text/javascript">
  var $j = jQuery.noConflict();

  $j(document).ready(function () {
    //Slider init JS
    $j(".advanced-slider").advancedSlider({
      width: 614,
      height: 297,
      delay: 1000,
      pauseRollOver: true
    });
  });
</script>
Run Code Online (Sandbox Code Playgroud)

很明显,我的 jquery.js 和 jquery.advanced-slider.js 在上面的 JavaScript 代码之后加载,因此我的滑块不起作用。如果我把它放在<head>滑块工作中的wp_head() 调用之后。

但是如果我把它放在 wp_head() 之后,那不是黑客吗?我希望我的代码干净。正如 211 主题清楚地表明的那样

/* Always have wp_head() just before the closing </head>
     * tag …
Run Code Online (Sandbox Code Playgroud)

javascript wordpress jquery wordpress-theming

5
推荐指数
1
解决办法
1万
查看次数

标签 统计

javascript ×1

jquery ×1

wordpress ×1

wordpress-theming ×1