0

我试图让以下代码工作,以便在选择图像时将项目内容加载到页面中。I have the images loading from the behance api, but I am struggling with the second bit when the a is selected it should take the url from the page and add it to the JSON to load each project content into the page. 谁能看到我在哪里

<html>
<head>
<script type="text/javascript" src="https://ajax.googleapis.com/ajax/libs/jquery/1.6.2/jquery.min.js"></script>
<script> 
$(document).ready(function(){
var jqxhr;
jqxhr = $.getJSON("http://www.behance.net/v2/users/USER/projects?api_key=KEY&callback=?", function(data) {
    var project_str = "";
    for(var i=0; i<  data.projects.length; i++){
        obj = {};
          obj = data.projects[i];
project_str += '<a class="link" href="#' + obj.id  + '"><img src="' + obj.covers['404'] + '" /></a>';       }
    $('#behance_container div').append(project_str);
});
          });

$('a.link').click(function(){
var hash = location.hash.replace("#","");
var jqxhri;
jqxhri = $.getJSON("http://www.behance.net/v2/projects/' + hash + '?api_key=KEY&callback=?", function(data) {
    $('#behance_header h3').html(data.project.name);
    var project_data = '<p>' + data.project.description + '</p>';       
    $('#behance_project').html(project_data);   });
        });
</script>
</head>
<body>
    <div id='behance_container'>
    <div></div>  
    </div>
    <div id='behance_header'><h3></h3><p></p></div> <div id='behance_project'></div>
</body>
</html>
4

1 回答 1

0

您正在定义getBehanceProject(id)接受一个id参数并且您在函数中使用该参数,但是当您调用该函数时,您不会传递一个id参数。

此外,在 中getBehanceProject(id),您将定义一个名为idtoo 的局部变量,这不应该是。

您应该解决的第一件事是在调用时将所需的 id 传递getBenhanceProject()给它。


其次,您需要意识到这addBehance()是异步的。它会在你调用它之后完成一段时间。因此,在您当前的代码中,您将getBehanceProject()在 AJAX 调用addBehance()完成之前调用,这可能会导致您的代码出现问题。

于 2013-01-16T23:59:51.067 回答