我有一个包含 (链接)标签的菜单。在Jquery中,我在菜单部分( a )处理点击事件,然后显示内容块。一切都还可以,但是现在我想让内容中的链接进入菜单的其他部分。
<div id="head_menu">
<a href="#order">1</a>
<a href="#portfolio">2</a>
<a href="#contacts">3</a>
<a href="#vacancies">4</a>
<a href="#about">5</a>
</div>
$('#head_menu a').click(function(){
currentPage = this.href.split( '#' )[1];
// If content area is already opened - close it
if( $('#text').is(':visible') )
{
$('#text').slideUp();
}
$("#inner").load( 'static_page.php?page=' + currentPage, function() {
$('#text').slideDown();
});
});
这里我只需打开带有需要文本的内容窗口,点击菜单。所以,现在我希望将内容链接到另一个菜单部分:
<div id="inner"><a href="#about">link text</a></div>
这是JQuery代码:
$('#inner a').live( 'click', function() {
$('#head_menu a[href*=' + document.location.hash + ']').click();
});
在第一次点击当前内容菜单后隐藏并显示相同的内容,但在第二次点击后我得到了,我想要的:由于点击的菜单打开的新内容。为什么它只在第二次点击后才会消失?
答案 0 :(得分:0)
document.location
已更改(考虑到这一点时这是有意义的,因为您可以使用JavaScript取消点击)。
尝试类似于你在其他函数上所做的事情(假设它有效,并考虑将其移动到一个函数 - 这是重复的代码):
$('#inner a').live( 'click', function() {
var target = this.href.split('#')[1];
$('#head_menu a[href*=' + target + ']').click();
});
答案 1 :(得分:0)
你在寻找像这样的东西
$('#head_menu a').click(function(){
var currentPage = this.href.substring(1);
$('#text').slideUp();
$("#inner").load('static_page.php?page=' + currentPage, function() {
$('#text').slideDown();
$('#inner a').click(function() {
var page = this.href.substring(1);
$('#head_menu a[href*=' + page + ']').click();
});
});
});
我不认为我完全理解你的描述,但我认为这就是你所追求的。