0

我正在尝试在单击时将外部 php 加载到 div 中,效果如下:

$('.tab1').click(function(){
    $('#place').hide(500, function(){
        $('#place').load('example1.inc', function(){
        $('#place').show(500);
        });
    });
});
$('.tab2').click(function(){
    $('#place').hide(500, function(){
        $('#place').load('example2.inc', function(){
        $('#place').show(500);
        });
    });
});

问题很明显,所以我一直试图缩小范围,但没有成功。我想在选项卡中放置链接(不再为选项卡使用唯一 ID),然后提取链接以放置到 .load() -

$('.tab').click(function() {
    var location = $('a', this).attr('href');
    $('#place').hide(500, function() {
        $('#place').load(location, function() {
        $('#place').show(500);
        });
    });
});

这很遥远 - 加载只需要一个 url 作为第一个参数,所以......

我的问题是如何将适当单击的选项卡的 URL 放入加载方法中?

顺便说一句,我对此很陌生-我的第一种方法有那么糟糕吗?我的意思是,当我有 5 个标签之类的东西时,我做错了。谢谢。

4

1 回答 1

1

第二个只是将链接加载为页面,而不是加载到#place div

这是因为您没有a使用preventDefault(). 尝试这个:

$('.tab a').click(function(e) {
    e.preventDefault();
    var location = $(this).attr('href'), $place = $('#place');

    $place.hide(500, function() {
        $place.load(location, function() {
            $place.show(500);
        });
    });
});
于 2013-05-29T09:38:31.913 回答