2

我有以下 jQuery,当我单击按钮时,我使用它来隐藏/显示 iFrame。

iFrame 包含一些 PHP,我只想在显示 iFrame 时加载它们。

$(document).ready(function()
    {
        $('#button').click(function()
            {
                $('#graphFrame').toggle().attr('src', 'graph1.php');    
            }
        )   
    }
);

这很好用,除了当我隐藏 iFrame 时它还会尝试加载 PHP。

有没有办法告诉它在显示 iFrame(从而加载 php)时添加“src”属性,并在隐藏 iFrame(因此不加载 PHP)时将其删除?

4

3 回答 3

2

尝试

$('#graphFrame').toggle(function(){
     var $this = $(this);
    $this.is(":visible") ? $this.attr('src', 'graph1.php') : $this.removeAttr('src')
});
于 2013-04-30T15:49:36.053 回答
1

试试这个:

$(document).ready(function () {
    $('#button').click(function () {
        $('#graphFrame').toggle();
        $('#graphFrame:visible').attr('src', 'graph1.php');
    });
});
于 2013-04-30T15:59:05.057 回答
1

你可以试试这个

$('#button').click(function(){
    var ifr = $('#graphFrame');
    ifr.toggle(function(){
        if(ifr.is(':visible')) ifr.attr('src', 'graph1.php');
        else ifr.attr('src', '');
    });
});

演示。

于 2013-04-30T16:00:25.673 回答