javascript - 当Wordpress中有多个事件类时,如何将事件类设置为选项卡?

标签 javascript php wordpress

是否有解决方案可以使 WordPress 中的自定义字段内容显示在相应的选项卡上? 我对我的 li 元素使用了相同的函数,它按照我想要的方式工作,问题是当我尝试对选项卡执行相同的操作时。

这显然可以通过将事件类添加到选项卡来实现,但到目前为止,即使我设置了变量 $class = 0(该功能是添加事件类),它也不起作用。你能帮我解决这个问题吗?

<!-- Tabs -->
<ul class="nav nav-pills nav-justified" id="myTab" role="tablist">
<?php $links = get_post_custom_values( 'Iframe' ); ?>
<?php foreach ($links as $li) : $class = 0 ? 'active ' : ''; ?>
<li class="nav-item <?php $class ?>"><a class="nav-link " id="tab" data-toggle="tab" href="#tab" role="tab" aria-controls="tab" aria-expanded="true">Option</a></li>
<?php endforeach ; ?>    
</ul>
<div class="tab-content" id="myTabContent">
<!--------------------------------------------------------- Youtube player --------------------------------------------------------------------------------->
<?php $player = get_post_custom_values( 'Iframe' ); ?>
<?php foreach ($player as $iframe) :  $class = 0  ? 'active ' : ''; ?>
<div class="tab-pane active" id="#tab" role="tabpanel" aria-labelledby="tab">
<br>
<div class="song">
<div class="video-grid">
<?php echo $iframe; ?>
</div>
</div>
</div>
<?php endforeach ?> 

这是前端的样子: As you can see the content is shown in just one tab

我尝试使用 Javascript,但仍然不起作用:

$(document).ready(function() {
    $(".tab-pane").click(function() {
        if ($("#tab").hasClass("active")) {
            $("#tab").removeClass("active");
            $("#tab").addClass("active");
        } 
    });
    $(".tab-pane").click();
});

最佳答案

每个选项卡都需要一个唯一的 ID 才能正常工作

<!-- Tabs -->
<ul class="nav nav-pills nav-justified" id="myTab" role="tablist">
<?php $links = get_post_custom_values( 'Iframe' ); ?>
<?php foreach ($links as $key=>$li) :  ?>
<li class="nav-item <?php echo $key == 0 ? 'active ' : ''; ?>"><a class="nav-link " data-toggle="tab" href="#tab<?php echo $key; ?>" role="tab" aria-controls="tab" aria-expanded="true">Option</a></li>
<?php endforeach ; ?>    
</ul>
<div class="tab-content" id="myTabContent">
<!--------------------------------------------------------- Youtube player --------------------------------------------------------------------------------->
<?php $player = get_post_custom_values( 'Iframe' ); ?>
<?php foreach ($player as $key=>$iframe) : ?>
<div class="tab-pane <?php echo $key == 0 ? 'active ' : ''; ?>" id="tab<?php echo $key; ?>" role="tabpanel" aria-labelledby="tab">
<br>
<div class="song">
<div class="video-grid">
<?php echo $iframe; ?>
</div>
</div>
</div>
<?php endforeach ?> 

查看编译版本

<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<!-- Latest compiled and minified CSS -->
<link rel="stylesheet" href="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.7/css/bootstrap.min.css" integrity="sha384-BVYiiSIFeK1dGmJRAkycuHAHRg32OmUcww7on3RYdg4Va+PmSTsz/K68vbdEjh4u" crossorigin="anonymous">

<!-- Optional theme -->
<link rel="stylesheet" href="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.7/css/bootstrap-theme.min.css" integrity="sha384-rHyoN1iRsVXV4nD0JutlnGaslCJuC7uwjduW9SVrLvRYooPp2bWYgmgJQIXwl/Sp" crossorigin="anonymous">

<!-- Latest compiled and minified JavaScript -->
<script src="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.7/js/bootstrap.min.js" integrity="sha384-Tc5IQib027qvyjSMfHjOMaLkfuWVxZxUPnCJA7l2mCWNIpG9mGCD8wGNIcPD7Txa" crossorigin="anonymous"></script>
<!-- Tabs -->
<ul class="nav nav-pills nav-justified" id="myTab" role="tablist">
<li class="nav-item active"><a class="nav-link " data-toggle="tab" href="#tab0" role="tab" aria-controls="tab" aria-expanded="true">Option</a></li>
<li class="nav-item "><a class="nav-link " data-toggle="tab" href="#tab1" role="tab" aria-controls="tab" aria-expanded="true">Option</a></li>
<li class="nav-item "><a class="nav-link " data-toggle="tab" href="#tab2" role="tab" aria-controls="tab" aria-expanded="true">Option</a></li>
    
</ul>
<div class="tab-content" id="myTabContent">
<!--------------------------------------------------------- Youtube player --------------------------------------------------------------------------------->
<div class="tab-pane active" id="tab0" role="tabpanel" aria-labelledby="tab">
<br>
<div class="song">
<div class="video-grid">
<iframe src="https://player.vimeo.com/video/229734145" width="640" height="360" frameborder="0" webkitallowfullscreen mozallowfullscreen allowfullscreen></iframe>
<p><a href="https://vimeo.com/229734145">Bleach Ending 30 full</a> from <a href="https://vimeo.com/user49994421">World Anime</a> on <a href="https://vimeo.com">Vimeo</a>.</p></div>
</div>
</div>
<div class="tab-pane " id="tab1" role="tabpanel" aria-labelledby="tab">
<br>
<div class="song">
<div class="video-grid">
<iframe width="560" height="315" src="https://www.youtube.com/embed/zjnGJrJ-D6Y" frameborder="0" allowfullscreen></iframe></div>
</div>
</div>
<div class="tab-pane " id="tab2" role="tabpanel" aria-labelledby="tab">
<br>
<div class="song">
<div class="video-grid">
<iframe width="560" height="315" src="https://www.youtube.com/embed/nGdFHJXciAQ" frameborder="0" allowfullscreen></iframe></div>
</div>
</div>

关于javascript - 当Wordpress中有多个事件类时,如何将事件类设置为选项卡?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46681574/

相关文章:

css - 当页面向下滚动时,如何防止 Logo 在固定标题中调整大小?

javascript - 如何验证两个输入的值并将其值发布为 json

javascript - 文本在一行上

javascript - php返回带有angularjs错误的json

php - 为什么我在这里得到 "Query was empty"?

javascript - jQuery 同位素错误。停止在 WordPress 中工作

javascript - 使用 Ajax 上传多个文件不进行 POST

javascript - 如何通过 ajax 将对象数组从 javascript 传递到 asp.net-mvc 函数?

php - 检查数据库连接是否关闭 - php

INSERT INTO 语句中的 PHP 语法错误。SQLExecDirect 中的 SQL 状态 37000