JQuery与我的主题集成

时间:2011-01-29 作者:Niraj Chauhan

我想在我的网站上添加一个幻灯片侧边方式jquery,我尝试了以下代码,但似乎不起作用

Jquery代码:-

<script src="http://ajax.googleapis.com/ajax/libs/jquery/1.3/jquery.min.js" type="text/javascript"></script>
<script src="http://tab-slide-out.googlecode.com/files/jquery.tabSlideOut.v1.3.js"></script>

    <script type="text/javascript">
    $(function(){
        $(\'.slide-out-div\').tabSlideOut({
            tabHandle: \'.handle\',                     
            pathToTabImage: \'images/contact_tab.gif\', 
            imageHeight: \'122px\',                     
            imageWidth: \'40px\',                       
            tabLocation: \'left\',                      
            speed: 300,                               
            action: \'click\',                          
            topPos: \'200px\',                          
            leftPos: \'20px\',                          
            fixedPosition: false                      
        });

    });

    </script>
部门(&A);CSS代码:

 <style type="text/css">

      .slide-out-div {
          padding: 20px;
          width: 250px;
          background: #ccc;
          border: 1px solid #29216d;
      }      
      </style>
<div class="slide-out-div">
            <a class="handle" href="#">Content</a>
            <h3>Contact me</h3>
            <p>Hello
            </p>
            <p>Welcome to my Blog</p>
        </div>
当我在头文件中尝试上述代码,并在页脚文件中尝试div代码时,div框似乎滑到了外面,但没有滑到里面,jquery不工作,image contact\\u选项卡。gif没有显示,我网站上的google地图也没有加载,我知道这是因为jquery集成错误,但我不知道如何将其与wordpress主题集成

1 个回复
最合适的回答,由SO网友:t31os 整理而成

我认为主要的问题是,在调用tab slideout时,需要使用无冲突包装。然而,与其简单地指出问题,我将介绍一些你应该做的事情,以使这个脚本“以WordPress的方式”工作。。(即,使用排队并钩住适当的钩子使其排队)。

首先,我们需要一个适当的行动,有几个我们可以使用正面。

我要用的钩子是wp_print_scripts, 因为你可能已经猜到了,它是用于排队脚本的。

add_action( \'wp_print_scripts\', \'enqueue_slideout\' );

function enqueue_slideout() {
    wp_enqueue_script( \'jquery-slideout\', \'http://tab-slide-out.googlecode.com/svn/trunk/jquery.tabSlideOut.v2.0.js\', array(\'jquery\'), \'2.0\', false );
}
我找到了最新版本的位置,1.3比最新的2.0早了一年,所以我更新了路径以指向更新的版本。

jQuery在排队中作为依赖项加载,因此您不需要为jQuery执行任何额外的包含操作,排队将为您处理这一问题(无论您的jQuery脚本是否已重新注册以从Google中提取-正如许多WP用户所选择的那样)。

接下来,我们将wp_head 并使用无冲突包装器输出脚本以设置滑出选项卡,该包装器在文档准备就绪时启动(大多数脚本都可以像这样工作,但不是全部)。。

add_action( \'wp_head\', \'setup_slideout_tabs\' );

function setup_slideout_tabs() {
    ?>
    <script type="text/javascript">
    jQuery(document).ready(function($){
        $(\'.slide-out-div\').tabSlideOut({
            tabHandle: \'.handle\',                     
            pathToTabImage: \'<?php bloginfo(\'stylesheet_directory\'); ?>/images/contact_tab.gif\', 
            imageHeight: \'122px\',                     
            imageWidth: \'40px\',                       
            tabLocation: \'left\',                      
            speed: 300,                               
            action: \'click\',                          
            topPos: \'200px\',                          
            leftPos: \'20px\',                          
            fixedPosition: false                      
        });
    });
    </script>
    <?php
}
您应该注意到,我在一个小PHP中添加了一个指向当前主题文件夹的图像路径,因此请确保您有一个名为contact_tab.gif 在主题的图像文件夹中,即。wp-content/themes/YOUR_THEME/images/contact_tab.gif 或适当更新图像路径。

将之前发布的CSS添加到主题的样式表中,实际上没有必要将其内联输出,而且样式表无论如何都会被加载,因此将其粘贴在其中是有意义的。

最后,你应该有这样的东西。。

Tab collapsedTab open

希望这有助于。。。

结束

相关推荐

在WordPress中使用最新的jQuery(管理界面)

我想在我的管理界面上使用最新的jQuery(和jQuery UI)版本(编辑我创建的特定帖子类型)。我试过这个:// jQuery 1.x wp_register_script(\'jquery1x\', \'http://ajax.googleapis.com/ajax/libs/jquery/1/jquery.min.js\', false, null, true); // jQuery UI 1.8.4 PTBR wp_register_script(\'jquer