首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Toggele下拉菜单中有图标

Toggele下拉菜单中有图标
EN

Stack Overflow用户
提问于 2022-11-26 07:00:04
回答 1查看 35关注 0票数 1

我想要切换暂停和启用下拉选项,当点击它将改变图标和重命名暂停启用和启用暂停时再次单击。

代码语言:javascript
复制
<!doctype html>
<html lang="en">
  <head>
    <meta charset="utf-8">
    <meta name="viewport" content="width=device-width, initial-scale=1">
    <title>Bootstrap demo</title>
    <link href="https://cdn.jsdelivr.net/npm/bootstrap@5.2.3/dist/css/bootstrap.min.css" rel="stylesheet" integrity="sha384-rbsA2VBKQhggwzxH7pPCaAqO46MgnOM80zW1RWuH61DGLwZJEdK2Kadq2F9CUG65" crossorigin="anonymous">
<link rel="stylesheet" href="https://fonts.googleapis.com/css2?family=Material+Symbols+Outlined:opsz,wght,FILL,GRAD@20..48,100..700,0..1,-50..200" />   
<script src="https://ajax.googleapis.com/ajax/libs/jquery/3.6.1/jquery.min.js"></script>
  </head>
  <body>
    <h1>Click more options icon</h1>
    <script src="https://cdn.jsdelivr.net/npm/bootstrap@5.2.3/dist/js/bootstrap.bundle.min.js" integrity="sha384-kenU1KFdBIe4zVF0s0G1M5b4hcpxyD9F7jL+jjXkk+Q2h455rYXK/7HAuoJl+0I4" crossorigin="anonymous"></script>
    
<div class="wactions-l9zgqjql">
        <div class="btn-group">
            <button type="button" class="btn btn-sm border-0 text-primary material-symbols-outlined" data-bs-toggle="dropdown" aria-expanded="false">more_horiz</button>
            <ul class="dropdown-menu dropdown-menu-lg-end" style="">
                <li><a class="dropdown-item menu-switch pause" href="#"><span class="material-symbols-outlined align-middle fs-6">pause</span> Pause</a></li>
                <li><a class="dropdown-item" href="#"><span class="material-symbols-outlined align-middle fs-6">share</span> Share</a></li>
                <li><a class="dropdown-item" href="#"><span class="material-symbols-outlined align-middle fs-6">content_copy</span> Copy</a></li>
                <li><a class="dropdown-item tdelete" href="#"><span class="material-symbols-outlined align-middle fs-6">delete</span> Delete</a></li>
            </ul>
        </div>
</div>
<script>

$(".menu-switch").on("click",function(event){

if($(this).hasClass("pause"))
{
alert(true)
    $(this).parent().html(`<a class="dropdown-item menu-switch" href="#"><span class="material-symbols-outlined align-middle fs-6">play_arrow</span> Enable</a>`)
}
else
{
alert(false)
    $(this).parent().html(`<a class="dropdown-item menu-switch pause" href="#"><span class="material-symbols-outlined align-middle fs-6">pause</span> Pause</a>`)
}
    
})
</script>
  </body>
</html>

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2022-11-26 11:28:25

您可以包括这两个变体,并交替显示它们。

这会折叠/隐藏一个内部div并显示另一个内部div。好吧,这有点麻烦,但没有js就行了。

代码语言:javascript
复制
     <li>
        <a class="dropdown-item text-toggle" data-bs-toggle="collapse" href="#idPause" aria-expanded="true">
            <div class="menu-switch pause text-expanded collapse show" id="idPause">
                <span class="material-symbols-outlined align-middle fs-6">pause</span> Pause
            </div>
            <div class="menu-switch text-collapsed">
                <span class="material-symbols-outlined align-middle fs-6">play_arrow</span> Enabled
            </div>
        </a>
    </li>

必要的css

代码语言:javascript
复制
    .text-toggle[aria-expanded=false] .text-expanded {
        display: none;
    }

    .text-toggle[aria-expanded=true] .text-collapsed {
        display: none;
    }

CSS只是切换暂停/启用的可见性。

JS的工作方式仍然是一样的。

代码语言:javascript
复制
    $(".menu-switch").on("click",function(event){
        if($(this).hasClass("pause"))
        {
            alert(true);
        }
        else
        {
            alert(false);
        }
    })
票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/74580335

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档