Javascript不会加载新位置

时间:2011-03-09 22:55:13

标签: javascript jquery jquery-ui window.location

这是我的主要功能,使用jquery和jquery-ui。问题是它应该在点击链接时加载新的地址(在动画“desaparecer”之后)。链接有一个rel标签,其中包含“articulo”的编号。

    $(function () {
        function aparecer () {
            $("#centro").show('drop','fast')
        }   
        function desaparecer () {
            $("#centro").hide('drop', 'fast', 'carga ()')
        };
        function cargar () {
            window.location = 'index.php?articulo=' + a.attr('rel');
        };
        $("a").click(function () {
            var a = $(this);
            desaparecer();
            return false;
        });
        aparecer();
    });

2 个答案:

答案 0 :(得分:1)

carga不等于cargar

根据jQuery文档,回调应该是一个函数,而不是eval编辑的字符串。

$("#centro").hide('drop', 'fast', cargar)

答案 1 :(得分:0)

问题是你在<a>标签的点击处理程序中声明了“a”。将其移到这些功能的外部:

$(function () {
    var a;

    function aparecer () {

然后更改点击处理程序:

    $("a").click(function () {
        a = $(this);  // no "var" here
        desaparecer();
        return false;
    });

因为“a”是里面的点击处理程序,所以“cargar”函数不会看到它。但是在两个函数之外声明,它们都可以访问相同的变量。

看起来“cargar”在“消失”功能中拼写错误。无论如何,它不应该像这样的字符串;它看起来像这样:

    function desaparecer () {
        $("#centro").hide('drop', 'fast', cargar)
    };