当父div在手风琴中活动时,更改样式子div

时间:2014-05-11 12:34:36

标签: jquery html css

我在任何页面都使用手风琴。 当手风琴活动为父div时,我想改变不透明度子div( LogoAccordion )。 我的HTML代码是:

<div id="Accordion">
    <div id="PnlAccordion">
                        <div id="LogoAccordion">

                        </div>
                        <div id="ContentAccordion">

                        </div>
    </div>
    <div id="PnlAccordion">
                        <div id="LogoAccordion">

                        </div>
                        <div id="ContentAccordion">

                        </div>
    </div>
</div>

我的jquery代码是:

       $(document).ready(function() {
                activePanel = $("#Accordion #PnlAccordion:first");
                $(activePanel).addClass('active');

                //Add By Opacity Full
                activePanelLogo = $("#Accordion #PnlAccordion #LogoAccordion:first");
                $(activePanelLogo).css('opacity','0.9');
                //LogoAccordion

                $("#Accordion").delegate('#PnlAccordion', 'click', function(e){
                     if( ! $(this).is('.active') ){
                        $(activePanel).animate({width: "25px"}, 300);
                        $(this).animate({width: "845px"}, 300);
                        $('#Accordion #PnlAccordion').removeClass('active');
                        $(this).addClass('active');
                        activePanel = this;
                     };
                });

但我的代码仅适用于第一页加载。

1 个答案:

答案 0 :(得分:0)

查看.parent.parents

on("click", function() {

上一个元素,如果它是div或emtpy列表:

$(this).parent("div")

向后遍历层次,直到找到#acordord

$(this).parents("#accordion"); 

如果我理解正确的问题,你想要的是:

$(this).parents("#accordion>div.active")