0

我有这种“某种”伪代码:

if($('#menuOption1').click()){
  $('#mainContent').load('optionContent1.html #optionContent1');
}
else if($('#menuOption2').click()){
  $('#mainContent').load('optionContent2.html #optionContent2');
}
else if($('#menuOption3').click()){
  $('#mainContent').load('optionContent3.html #optionContent3');
}

这是不言自明的。我有一个包含 3 个选项(#menuOption*)的菜单,当我单击其中一个选项时,它应该是 load(); 它是对应的 html 文件 (optionContent*.html - #optionContent*) 到我的 index.html (#mainContent) 中。代码更正好吗?

佩德罗

4

2 回答 2

3

您应该将代码添加到单击事件处理程序中,如下所示:

$('#menuOption1').click(function(){
  $('#mainContent').load('optionContent1.html #optionContent1');
});

ETC...

于 2013-04-02T11:20:50.360 回答
2

click 返回一个 jquery 对象,而不是一个布尔值,你真正想要的是:

$('#menuOption1').click(function(e) {
    $('#mainContent').load('optionContent1.html #optionContent1');
    return false;
});

$('#menuOption2').click(function(e) {
    $('#mainContent').load('optionContent2.html #optionContent2');
    return false;
});

$('#menuOption3').click(function(e) {
    $('#mainContent').load('optionContent3.html #optionContent3');
    return false;
});

取决于您的 HTML 标记,我相信您也可以优化 Javascript 代码

于 2013-04-02T11:20:57.687 回答