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 回答