0

幅を % から要素アコーディオンの幅 - 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);

しかし、うまくいきません。

4

1 に答える 1

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 はアコーディオンの 3 つの要素 (4 つの要素) が占めるスペース、wide3 はボディから 3 つの別の要素が占めるスペース + これらの境界線が占める境界線を差し引いた後に利用可能なスペースです。要素。私は、JavaScript を知らず、この特定の問題を解決する方法を見つけるために何時間も費やした私のような人々のために、このソリューションを提供しました。

于 2012-10-19T20:06:59.643 に答える