如何将jQuery脚本添加到一个页面?

时间:2012-10-03 作者:simpletwist

将单个脚本应用于特定页面的最佳实践是什么?当我尝试应用整个页面的脚本时,它与其他插件有问题。有经验法则吗?

 <script src="https://ajax.googleapis.com/ajax/libs/jquery/1.7.1/jquery.min.js"></script>


<script>

(function() {

$(\'html\').addClass(\'js\');

var contactForm = {

    container: $(\'#contact\'),

    config: {
        effect: \'slideToggle\',
        speed: 500
    },

    init: function(config) {
        $.extend(this.config, config);

        $(\'<button></button>\', {
            text: \'Contact Me\'
        })
            .insertAfter( \'article:first\' )
            .on( \'click\', this.show );
    },

    show: function() {
        var cf = contactForm,
            container = cf.container,
            config = cf.config;

        if ( container.is(\':hidden\') ) {
            contactForm.close.call(container);
            container[config.effect](config.speed);
        }
    },

    close: function() {
        var $this = $(this), // #contact
            config = contactForm.config;

        if ( $this.find(\'span.close\').length ) return;

        $(\'<span class=close>X</span>\')
            .prependTo(this)
            .on(\'click\', function() {
                // this = span
                $this[config.effect](config.speed);
            })
    }
};

contactForm.init({
    // effect: \'fadeToggle\',
    speed: 300
});

})();

</script>

2 个回复
SO网友:dipali

此url有效
http://codex.wordpress.org/Function_Reference/wp_enqueue_script
对于特定页面,您可以使用

if( is_page(\'x\')) { ?>
// YOUR SCRIPT STUFF
<?php }

SO网友:ferne97

我通常注册所有需要使用的脚本wp_register_script 然后使用wp_enqueue_script 在只需要在特定页面上加载的脚本的条件中。

functions.php

function enqueue_scripts() {
    wp_register_script( \'global\', get_template_directory_uri() . \'/lib/js/global.js\', array( \'jquery\' ), \'1.0\', true );
    wp_register_script( \'example\', get_template_directory_uri() . \'/lib/js/example.js\', array( \'jquery\' ), \'1.0\', true );

    wp_enqueue_script( \'global\' );

    if ( is_page( 2 ) ) { // example page
        wp_enqueue_script( \'example\' );
    }
}

add_action( \'wp_enqueue_scripts\', \'enqueue_scripts\' );

结束