当用户在jQuery中调整网站大小时,更改accordion元素的宽度

时间:2012-10-04 21:20:24

标签: jquery width jquery-ui-accordion

我想将宽度从%更改为元素手风琴的宽度 - 244px(手风琴右侧元素的总大小)。

 $(function() {
        $('.accordion > li').hoverIntent(
                function () {
                    var $this = $(this);

              >>>  $this.stop().animate({'width':'80%'},500);   <<<

                    $('.heading',$this).stop(true,true).fadeOut();
                    $('.bgDescription',$this).stop(true,true).slideDown(500);
                    $('.description',$this).stop(true,true).fadeIn();
                },
                function () {
                    var $this = $(this);
                    $this.stop().animate({'width':'5em'},1000);
                    $('.heading',$this).stop(true,true).fadeIn();
                    $('.description',$this).stop(true,true).fadeOut(500);
                    $('.bgDescription',$this).stop(true,true).slideUp(700);
                }
        );
    });

我在想:

var accordwidth = $("accordion").width() -244;
$this.stop().animate({'width':accordwidth },500);

但它不起作用。

1 个答案:

答案 0 :(得分:0)

<script type="text/javascript">
    $(function() {
        $('.accordion > li').hoverIntent(
                function () {
                    var $this = $(this);
                    var wide1 = $('body').width();
                    var wide2 = $('li.bg1').width()*3;
                    var wide3 = wide1 - wide2 - 4;
                    $this.stop().animate({'width':wide3},500);
                    $('.heading',$this).stop(true,true).hide();
                      $('.bgDescription',$this).stop(true,true).slideDown(500);
                    $('.description',$this).stop(true,true).fadeIn();
                },
                function () {
                    var $this = $(this);
                    $this.stop().animate({'width':'5em'},500);
                    $('.heading',$this).stop(true,true).fadeIn();
                    $('.description',$this).stop(true,true).fadeOut(500);
                    $('.bgDescription',$this).stop(true,true).slideUp(700);
                }
        );
    });
</script>

我确信这可能是更好的语法,但它可以工作。 wide1是手风琴的父母,wide2是手风琴的三个元素所占据的空间(4个元素),wide3是我从身体中扣除3个另外元素占据的空间+这些边界所占据的边界后可用的空间元素。 我为像我这样不懂javascript&amp; amp;花了一个小时来找到解决这个特定问题的方法。