Javascript 将img和样式更改为折叠体上方的元素

Javascript 将img和样式更改为折叠体上方的元素,javascript,jquery,Javascript,Jquery,所以我已经为此挣扎了几个小时了。我终于让它工作了,这样当我点击按钮时,img和文本就会改变。但在尝试了一些东西之后,我发现它并没有像我希望的那样工作 当我点击一个折叠按钮时,它会发生完美的变化,这也是我想要的。但当我打开另一个折叠时,文本仍为金色,不会变回原样 我希望它是这样的,当一个折叠打开时,上面的文本是金色的,但当它关闭时,上面的文本变回原来的颜色 我怎样才能达到这样的效果 $('button.btn.btn link')。单击(函数(){ var imgsrc=$(this.find(

所以我已经为此挣扎了几个小时了。我终于让它工作了,这样当我点击按钮时,img和文本就会改变。但在尝试了一些东西之后,我发现它并没有像我希望的那样工作

当我点击一个折叠按钮时,它会发生完美的变化,这也是我想要的。但当我打开另一个折叠时,文本仍为金色,不会变回原样

我希望它是这样的,当一个折叠打开时,上面的文本是金色的,但当它关闭时,上面的文本变回原来的颜色

我怎样才能达到这样的效果

$('button.btn.btn link')。单击(函数(){
var imgsrc=$(this.find('img').attr('src');
如果(imgsrc==”http://i.imgur.com/xkGbQeg.png") {
$(此).addClass(“goldtext”);
$(this.find('img').attr(“src”),“http://i.imgur.com/Q3ickhr.png");
}否则{
$(此).removeClass(“goldtext”);
$(this.find('img').attr(“src”),“http://i.imgur.com/xkGbQeg.png");
}
})

你好,世界!
#崩塌{
宽度:15px;
}
.goldtext{
颜色:#d6c095!重要;
}
他是诺迪格吗?
动物保护协会的陈词滥调,埃尼姆·埃乌斯莫德的高寿命accusamus terry richardson广告鱿鱼。3狼月亮奥特餐厅,非丘比特滑板多洛早午餐。食品车奎奴亚藜。早午餐3狼月亮临时,太阳阿利夸放了一只鸟
在它上面,鱿鱼单一来源咖啡Nalla assumenda shoreditch et.Nihil anim keffiyeh helvetica,工艺啤酒工人wes anderson cred Nescuint sapiente ea proident。纯素食主义者,屠夫副洛莫。从工艺啤酒场到餐桌,
粗斜纹棉布美学合成器Nescuint您可能还没有听说过accusamus labore可持续VHS。
他是诺迪格吗?
动物保护协会的陈词滥调,埃尼姆·埃乌斯莫德的高寿命accusamus terry richardson广告鱿鱼。3狼月亮奥特餐厅,非丘比特滑板多洛早午餐。食品车奎奴亚藜。早午餐3狼月亮临时,太阳阿利夸放了一只鸟
在它上面,鱿鱼单一来源咖啡Nalla assumenda shoreditch et.Nihil anim keffiyeh helvetica,工艺啤酒工人wes anderson cred Nescuint sapiente ea proident。纯素食主义者,屠夫副洛莫。从工艺啤酒场到餐桌,
粗斜纹棉布美学合成器Nescuint您可能还没有听说过accusamus labore可持续VHS。

我注意到,您的函数在单击特定按钮时运行,但它会检查是否有另一个按钮打开

我添加了一个var来保存打开的元素。下面的案例是与此相关的逻辑:

  • 元素1和元素2接近。单击一个元素,它将打开并更改字体颜色。这是您的if(true)值。此处打开将保存元素1
  • 元素1是开放的。单击元素1,使其关闭并将字体颜色更改为蓝色。这是函数的else部分。我们重置了开放变量
  • 最后一个也是重要的案例。元素1是开放的。你点击元素二。这将关闭元素1并进入函数的if(true)部分。Open将具有元素1的值。因此,当它进入if部分时,它将遇到下一个if

    如果(打开!=null){ open.removeClass(“goldtext”); }

    代码不希望正确地进行farmat 并重置其字体颜色

  • 我希望我的代码能帮助你。如果你需要更多的帮助,我很乐意帮助你

    //保存打开的元素的Var
    open=null;
    $('button.btn.btn link')。单击(函数(){
    var parent=$(this.parents()[2]
    var child=parent.children[1];
    var changer=child.classList.contains('show');
    var imgsrc=$(this.find('img').attr('src');
    如果(!转换器){
    如果(打开!=null){
    open.removeClass(“goldtext”);
    open.find('img').attr('src','http://i.imgur.com/xkGbQeg.png");
    }
    $(此).addClass(“goldtext”);
    $(this.find('img').attr(“src”),“http://i.imgur.com/Q3ickhr.png");
    //保存单击并打开的元素
    开放=$(本);
    }否则{
    $(此).removeClass(“goldtext”);
    $(this.find('img').attr(“src”),“http://i.imgur.com/xkGbQeg.png");
    open=null;
    }
    })
    
    你好,世界!
    #崩塌{
    宽度:15px;
    }
    .goldtext{
    颜色:#d6c095!重要;
    }
    他是诺迪格吗?
    动物保护协会的陈词滥调,埃尼姆·埃乌斯莫德的高寿命accusamus terry richardson广告鱿鱼。3狼月亮奥特餐厅,非丘比特滑板多洛早午餐。食品车奎奴亚藜。早午餐3狼月亮临时,太阳阿利夸放了一只鸟
    在它上面,鱿鱼单一来源咖啡Nalla assumenda shoreditch et.Nihil anim keffiyeh helvetica,工艺啤酒工人wes anderson cred Nescuint sapiente ea proident。纯素食主义者,屠夫副洛莫。从工艺啤酒场到餐桌,
    粗斜纹棉布美学合成器Nescuint您可能还没有听说过accusamus labore可持续VHS。
    他是诺迪格吗?
    动物保护协会的陈词滥调,埃尼姆·埃乌斯莫德的高寿命accusamus terry richardson广告鱿鱼。3狼月亮奥特餐厅,非丘比特滑板多洛早午餐。食品车奎奴亚藜。早午餐3狼月亮临时,太阳阿利夸放了一只鸟
    在它上面鱿鱼单一来源的咖啡纳拉assumenda shoreditch等Nihil anim keffiyeh helvetica,克拉夫