0

私が使用しているナビゲーションバーには、jqueryで「アクティブ」アイテムに追加された矢印があります。

$('.top-bar-wrapper li.active a').after('<div class="nav-active-arrow"></div>');

そのコードは変更できません。そのまま使用する必要があります。

私がする必要があるのは、ボタンがクリックされたときに.nav-active-arrowマークアップを非表示にすることです。だから、私は次のようなものを持っています:

var navArrow = $('.nav-active-arrow');

$('#nav-bar-churches').click( function(e) {
  churchesBar.show();
  navArrow.hide();
  e.stopPropagation();
});

それにはもう少しあります-たとえば、私はいくつかのイベントで.showを行います。.nav-active-arrowただし、上記のコードは機能していません。関数で作成されているためだと思い.after()ます。

私の考えは正しいですか?助言がありますか?

4

2 に答える 2

1

サイドクリックする必要はなく$('.nav-active-arrow')、クリックイベントに入れて確認する必要がありますavailabilty

$('#nav-bar-churches').click( function(e) {
  var navArrow = $('.nav-active-arrow');
  churchesBar.show();
  navArrow.hide();
  e.stopPropagation();
});
于 2012-12-28T22:49:29.270 に答える
1

var navArrow = $('.nav-active-arrow');次のようなクリック関数の中に入れてみてください。

$('#nav-bar-churches').click( function(e) {    
  churchesBar.show();
  var navArrow = $('.nav-active-arrow');
  navArrow.hide();
  e.stopPropagation();
});

または、さらに簡潔に:

$('#nav-bar-churches').click( function(e) {    
  churchesBar.show();
  $('.nav-active-arrow').hide();
  e.stopPropagation();
});
于 2012-12-28T22:49:56.173 に答える