0

这是我的主要功能,使用 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();
    });
4

2 回答 2

1

carga不相等cargar

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

$("#centro").hide('drop', 'fast', cargar)
于 2011-03-09T22:56:58.650 回答
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)
    };
于 2011-03-09T22:58:14.687 回答