【问题标题】:jQuery function only on certain pagesjQuery 功能仅在某些页面上
【发布时间】:2013-04-13 22:15:42
【问题描述】:

我正在尝试为不同的 wordpress 页面触发一个功能。

我希望根据加载的页面打开我的 jquery 手风琴的不同“切片”。

我试过了

if ( is_page( 'sea-freight' ) )
        $(".va-slice-1").click();

我的功能有问题吗?

这是我的代码

<div class="container">

            <div id="va-accordion" class="va-container" style="width: 100%!important; height: 450px;"> 
                <div class="va-nav">
                    <span class="va-nav-prev">Previous</span>
                    <span class="va-nav-next">Next</span>
                </div>
                <div class="va-wrapper">
                    <div class="va-slice va-slice-1">
                        <div class="va-title">Airfreight</div>
                        <div class="va-content">
                            <p>Henry Watson</p>
                            <ul>
                                <li><a href="#">About</a></li>
                                <li><a href="#">Portfolio</a></li>
                                <li><a href="#">Contact</a></li>
                            </ul>
                        </div>
                    </div>
                    <div class="va-slice va-slice-2">
                        <div class="va-title">Seafreight</div>
                        <div class="va-content">
                            <p>Keith Johnson</p>
                            <ul>
                                <li><a href="#">About</a></li>
                                <li><a href="#">Portfolio</a></li>
                                <li><a href="#">Contact</a></li>
                            </ul>
                        </div>  
                    </div>
                    <div class="va-slice va-slice-3">
                        <div class="va-title">Satellite Tracking</div>
                        <div class="va-content">
                            <p>Andrew Alaniz</p>
                            <ul>
                                <li><a href="#">About</a></li>
                                <li><a href="#">Portfolio</a></li>
                                <li><a href="#">Contact</a></li>
                            </ul>
                        </div>  
                    </div>
                    <div class="va-slice va-slice-4">
                        <div class="va-title">Guarding</div>
                        <div class="va-content">
                            <p>Ben Freeman</p>
                            <ul>
                                <li><a href="#">About</a></li>
                                <li><a href="#">Portfolio</a></li>
                                <li><a href="#">Contact</a></li>
                            </ul>
                        </div>  
                    </div>
                    <div class="va-slice va-slice-5">
                        <div class="va-title">Machine Moving</div>
                        <div class="va-content">
                            <p>Alex Schuman</p>
                            <ul>
                                <li><a href="#">About</a></li>
                                <li><a href="#">Portfolio</a></li>
                                <li><a href="#">Contact</a></li>
                            </ul>
                        </div>  
                    </div>
                    <div class="va-slice va-slice-6">
                        <div class="va-title">Investigations</div>
                        <div class="va-content">
                            <p>Maria Wales</p>
                            <ul>
                                <li><a href="#">About</a></li>
                                <li><a href="#">Portfolio</a></li>
                                <li><a href="#">Contact</a></li>
                            </ul>
                        </div>  
                    </div>
                    <div class="va-slice va-slice-7">
                        <div class="va-title">Transport</div>
                        <div class="va-content">
                            <p>Paul White</p>
                            <ul>
                                <li><a href="#">About</a></li>
                                <li><a href="#">Portfolio</a></li>
                                <li><a href="#">Contact</a></li>
                            </ul>
                        </div>  
                    </div>
                </div>
            </div>


        </div>
        <script type="text/javascript" src="http://ajax.googleapis.com/ajax/libs/jquery/1.6.2/jquery.min.js"></script>
        <script type="text/javascript" src="wp-content/themes/FSI5/jquery.easing.1.3.js"></script>
        <script type="text/javascript" src="wp-content/themes/FSI5/jquery.mousewheel.js"></script>
        <script type="text/javascript" src="wp-content/themes/FSI5/jquery.vaccordion.js"></script>
        <script type="text/javascript">

                       $(function() {
                $('#va-accordion').vaccordion({
                    visibleSlices   : 5,
                    expandedHeight  : 250,
                    animOpacity     : 0.1,
                    contentAnimSpeed: 100
                });

if ( is_page( 'sea-freight' ) )
        $(".va-slice-1").click()
            });


        </script>  

【问题讨论】:

标签: jquery wordpress function


【解决方案1】:

你没有回应它。试试

<?php if ( is_page( 'sea-freight' ) )
   echo ' $(".va-slice-1").click();'; ?>

[已编辑] 您还需要添加 php 标签。

【讨论】:

  • 非常感谢你这是完美的。我可以在下面为其他页面添加相同的代码吗?
  • 对不起,还有一件小事。经过这些调整(适用于所有页面) - 似乎当页面加载时,其中一个切片在页面加载时快速显示在顶部...应该移动我的功能还是什么?
  • 需要更多关于您在那里体验的信息。显然,这段代码在页面加载时不应该影响你的显示,因为它只在 DOM 准备好时执行。
  • 我的手风琴曾经加载'从上到下' - 但现在加载时,切片“7”快速显示在页面顶部,然后跳转到正确的切片。可以的话可以pm你链接吗?
  • 一种解决方案是将 display:none 添加到 .va-slice 的 css 中,然后在 jquery 代码的末尾使用 $('.va-slice').show()。
【解决方案2】:

我不知道,也许 is_page() 它是您使用的引擎的功能。如果没有,浏览器没有那个基本的js功能,你可以在javascript上构建自己的

function is_page(page){
    if(page==window.location.pathname){
        return true;
    }
return false;
}


if ( is_page( 'sea-freight' ) )
    $(".va-slice-1").click()
        });

在某处打印 console.log(window.location);看看里面有什么

【讨论】:

  • js函数损坏,我建议js回答=)
【解决方案3】:

试试这个:

<?php if (is_page('sea-freight')): ?>
$(".va-slice-1").click();
<?php endif; ?>

【讨论】:

  • 谢谢。我试过了,但它会抛出我的页面并显示错误消息?
  • 你能提供这个消息吗?或者,也许,您可以发布一个链接?
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2012-09-26
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多