2009-05-26 91 views
1

我期望实现以下目标。 我有一个最初为空的绝对定位的div(#description),坐在另一个div(#zoom)的TOP上,当用户从页面的侧面选择15个左右缩略图中的一个时,它会将大图像注入到其中。jquery和ajax - 使用链接注入文件内容

我有一个侧面的链接,例如:

<div id="whatisit"><a href="description.php"></div> 

认为应该点击注入“description.php”文件内容到网站上的#description DIV时。首先,当然它需要“淡化”#zoom的内容。

我有下面的代码,我试图放在一起做这项工作。

<script language="javascript"> 
$(document).ready(function() { 
    $("#whatisit a").click(function() { 
     var descPath = $(this).attr("href"); 
     $("#zoom img").fadeOut("slow", function() { 
      $(this).attr({ src:descPath }).fadeIn("slow"); 
     }); 
    return false; 
    }); 
}); 
</script> 

它淡出#zoom的内容,但不会注入或淡入“descriptions.php”文件内容。难道我做错了什么?或缺少什么?

非常感谢您的帮助。

回答

1

你将不得不使用AJAX的GET请求,所以做这样的事情:

<script language="javascript"> 
$(document).ready(function() { 
    $("#whatisit a").click(function() { 
     var descPath = $(this).attr("href"); 
     $.get(descPath, function(html_returned) { 
      $("#zoom img").fadeOut("slow", function() { 
       $("#description").html(html_returned).fadeIn("slow"); 
      }); 
     }, "html"); 
     return false; 
    }); 
}); 
</script> 

这应该注入description.php的内容到#description。

+0

这是做了伎俩(排序!)。 :)只有一个问题 - 当我点击一个图像缩略图(点击时将一个大图像加载到#zoom中),“描述”文本仍然存在。它应该消失。 – 2009-05-26 23:00:54

0

好吧,它看起来像你试图通过设置其src属性的方式将内容推入div属性的方式,你会在图像上,这是不会做任何事情。可能如果它是一个iframe这将是有意义的。否则,你将不得不花费更多的时间将description.php的内容放入div中。