2011-03-09 60 views
0

這是我的主要功能,使用jquery和jquery-ui。問題是它應該在點擊鏈接時加載新的地址(在動畫「desaparecer」之後)。鏈接有一個rel標籤,其中包含「articulo」的編號。Javascript無法加載新位置

$(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(); 
    }); 

回答

0

的問題是,你聲明「是」點擊內部處理程序<a>標籤(一個或多個)。此舉出的這些功能外:

$(function() { 
    var a; 

    function aparecer() { 

然後更改點擊投手:

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

因爲「a」是即單擊處理程序中,「cargar」功能不會看見。但是在之外聲明的都是函數,它們都可以訪問同一個變量。

另外它看起來像「卡爾加」拼寫錯誤在「消失」功能。不管怎樣,它不應該像這樣一個字符串。它可以看起來像這樣:

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

完美!謝謝。 – Antoniogra7 2011-03-11 14:51:24

1

carga不等於cargar

而回調,根據jQuery的文檔,被認爲是一個函數,不被eval編的字符串。

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