2012-03-14 85 views
0

我需要一些帮助,我似乎无法弄清楚如何预加载图像我的下一个按钮在我建立的图像查看器。我从MySQL数据库抓取图像源,并在每次按下下一个按钮时遍历它们。我如何预先加载这些?这里是我的下一个按钮的代码:从jquery预加载图像从MySQL

$("#next").click(function(){ 
      $(h).empty(); 
      var p = <?php echo json_encode($results); ?>; 
      var start = $("#intabdiv img").attr("class"); 
      var next = p[($.inArray(start, p) + 1) % p.length]; 
      //Checking the ID of thumbnail pictures and determining the id here 
      var hinext = "../php/admin/portfolio/before/"+next; 
      $("#intabdiv img").attr('src',hinext); 
      $("#intabdiv img").attr('class',next); 
      //Centering image on screen 
      var h = $("#intabdiv img").width() + 70; 
      //ww is defined beforehand and is the windows width. 
      var total = ww - (h/2); 
      $(".popupbox").css("margin-left", total); 
     }); 
+0

“var p”的内部是什么样的?现在很难猜测。 – 2012-03-14 16:10:00

+0

这是一个简单的数组,看起来像这样(image1.jpg,image2.jpg,image3.jpg)。谢谢 – liveandream 2012-03-14 17:41:54

回答

0

不喜欢你的代码。尝试每隔一段时间放一些换行符(在评论通常是一个好地方之前)。

无论如何,这是使用jquery预加载的图像的好方法:

$('<img />').attr('src', 'http://url/to/image.jpg'); 

第一部分创建一个图像元素(但不将其添加到DOM)

$('<img />') 

的下一部分设置SRC并因此在浏览器中加载图像资源:

attr('src', 'http://url/to/image.jpg'); 
+0

但我的图像结果是在一个数组中,并放置在var p。我将如何预加载这些。这是我的问题。谢谢 – liveandream 2012-03-14 16:06:18

+0

非常感谢!我所要做的只是添加一个.each循环来遍历数组,并将其放入内部。 Thanksss! – liveandream 2012-03-14 21:02:06