【发布时间】:2021-06-04 23:38:39
【问题描述】:
(function(){
$('ul.tabs li').on("click", function(){
var tab_id = $(this).find("li").attr('data-tab');
$('ul.tabs li .tab-link').removeClass('current');
$('.tab-content').removeClass('current');
$(this).addClass('current');
$("#"+tab_id).addClass('current');
});
.container{
margin: 0 auto;
}
ul.tabs{
margin: 0px;
padding: 0px;
list-style: none;
}
ul.tabs li{
background: none;
color: #222;
display: inline-block;
padding: 10px 15px;
cursor: pointer;
}
ul.tabs li.current{
background: #ededed;
color: #222;
}
.tab-content{
display: none;
background: #ededed;
padding: 15px;
}
.tab-content.current{
display: inherit;
}
<div class="container">
<?php if( have_rows('tabs') ): ?>
<ul class="tabs">
<?php while ( have_rows( 'tabs' ) ) : the_row(); ?>
<?php $index = get_row_index(); ?>
<li class="tab-link <?php if ($index == 0): ?>current<?php endif; ?>" data-tab="tab-<?php echo $index; ?>">
<?php echo get_sub_field('services_title'); ?></li>
<?php endwhile; ?>
</ul>
<?php while( have_rows('tabs') ): the_row(); ?>
<?php $index = get_row_index(); ?>
<div id="tab-<?php echo $index; ?>" class="tab-content <?php if ($index == 0): ?>current<?php endif; ?>">
<?php echo get_sub_field('services_description'); ?>
</div>
<?php endwhile; ?>
<?php else : ?>
<?php // no rows found ?>
<?php endif; ?>
</div>
**
我正在寻求帮助,让我的 javascript 最终连接到我的 HTML/PHP WordPress 代码。我相信 javascript 没有正确定位某些东西,以便能够将 current 类添加到 tab-echo index 部分。
我使用 php 来获取每个部分的标签 - 索引号,只是在添加和删除当前类别到附加帖子时遇到了麻烦。
【问题讨论】:
-
我认为
var tab_id = $(this).find("li").attr('data-tab');应该是var tab_id = $(this).attr('data-tab');和$('ul.tabs li .tab-link').removeClass('current');应该是$('ul.tabs li.tab-link').removeClass('current');。原因是您已经在此处定位了 LI 元素:$('ul.tabs li').on("click", function(){。 (另外,下次请发布实际的 HTML 输出 - 请记住,我们无法在此处运行您的 PHP 代码,因此很难判断生成的 HTML 会是什么样子。) -
很抱歉刚刚在这里发帖 - 我不知道我是否知道该怎么做!我会边走边学 :) - 上面的变化没有运气。
-
只需复制您在页面上看到的 HTML 输出(检查 HTML 源代码,但只获取代码的相关部分),然后编辑您的问题以包含它。这样,我们在这里只处理 HTML/CSS/JS,我们更容易重现您在那里看到的内容。
-
好的,谢谢 - 这些几乎是代码的相关部分。 :)
标签: javascript wordpress advanced-custom-fields