0

クリックした後、矢印をリストアイテムの中央に移動する方法を理解しようとしています。クリックすると、クラスがアクティブに変わり、リストアイテムの中心に基づいて三角形の位置を更新する必要があります。私がこれを正しい方法で行っているかどうかはわかりませんが、これを行うためのより効率的な方法があるかもしれないと考えています。

$('.sort li.active a').click(function () {
    var $this = $(this);
    var offset = $this.offset();
    var width = $this.width();
    var centerX = offset.left + width / 2;
    console.log(centerX);
    $('#subheader:after').css('right', centerX);
});

http://jsfiddle.net/afaQ8/

4

2 に答える 2

1

すでに矢印を疑似要素として表示しているので、li.active に表示することができるので、そこから位置を取得できます。

于 2013-02-17T19:28:37.977 に答える
1

クリック時に背景画像なしで li を固定の高さにします すべての兄弟から背景画像を削除し、要素幅の x オフセット - 矢印画像のサイズで背景画像を追加します。

于 2013-02-17T04:08:12.903 に答える