简体   繁体   English

添加向上和向下箭头以使用纯 JS 引导手风琴

[英]Add Up and down arrows to bootstrap accordion with pure JS

My code:我的代码:

<div class="panel" style="margin-left: -15px;">
                <div class="panel-heading">
                    <div class="vgroupholder panel-title" data-parent="#accordion" data-toggle="collapse" href=".titlePhysics" onclick="removevBgs();" style="background-color: transparent;">

                        <div class="groupicon">
                            <div class="groupicontext">P</div>
                        </div>
                        <div class="grouptext">
                            <div class="grouptitle">Physics</div>
                        </div>
                        <img onclick="changeArrow(this);" src="../assets/images/down.png" width="45px" style="margin-left: 240px; opacity: 1;" onmouseover="this.style.opacity='75%';" onmouseout="this.style.opacity='100%';">

                    </div>      
                </div></div>
function changeArrow(id){
    if(id.src = '../assets/images/down.png'){
        id.src = '../assets/images/up.png';
    } else {
        id.src = '../assets/images/down.png';
    }
}

Currently, the arrow doesn't change.目前,箭头没有改变。

How can I make it so that the arrow changes to up.png?我怎样才能使箭头变为 up.png?

or even better, have it have an animation and rotate 180 degrees?或者更好的是,它有一个 animation 并旋转 180 度吗?

Any help would be great - thank you!任何帮助都会很棒-谢谢!

do it with == rather than = inside if condition and use getAttribute("src") rahter than src because src give directly whole path but getAttribute gives you what inside it使用 == 而不是 = inside if 条件并使用getAttribute("src")而不是 src 因为 src 直接给出整个路径,但 getAttribute 给你它里面的内容

 function changeArrow(id){ console.log(id.src) if(id.getAttribute("src") == '../assets/images/down.png'){ id.src = '../assets/images/up.png'; } else { id.src = '../assets/images/down.png'; } } function removevBgs(){}
 <div class="panel" style="margin-left: -15px;"> <div class="panel-heading"> <div class="vgroupholder panel-title" data-parent="#accordion" data-toggle="collapse" href=".titlePhysics" onclick="removevBgs();" style="background-color: transparent;"> <div class="groupicon"> <div class="groupicontext">P</div> </div> <div class="grouptext"> <div class="grouptitle">Physics</div> </div> <img onclick="changeArrow(this);" src="../assets/images/down.png" width="45px" style="margin-left: 240px; opacity: 1;" onmouseover="this.style.opacity='75%';" onmouseout="this.style.opacity='100%';"> </div> </div> </div>

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM