2013-03-26 64 views
0

我做了一个小图像库,其中包含一个大图像以及一些小图像。有连接大图像缩放器,当我在小的图像单击它取代了大图,但伸缩镜头显示旧图像,而不是新的jquery zoomer图像源被javascript更改后重新绑定

jQuery的

jQuery(document).ready(function($){ //fire on DOM ready 
      $('#myimage').addpowerzoom() 
      }) 

的JavaScript

function movImg(img){ 
    var bImg = document.getElementById('myimage'); 
    bImg.src=img.src; 
$(document).trigger("ready"); 
}  

html

<img id="myimage" src="img/abc.jpg" alt="" /> 
<image src="thumbnails/xyz.jpg" onClick="movImg(this);" width="73px" style="cursor: pointer;" /> 

我在哪里错了或者什么是正确的方法呢?

感谢

回答

1

尝试调用的 $('#myimage').addpowerzoom();代替 $(document).trigger("ready");

这为我工作。它看起来像是当你改变图像的源头时会发生轻微的延迟。这个想法是在图像加载后调用addpowerzoom()

<!DOCTYPE html> 
<html lang="en-AU"> 
    <head> 
     <meta charset="utf-8" /> 
     <script type="text/javascript" src="js/jquery-1.8.2.js"></script> 
     <script type="text/javascript" src="ddpowerzoomer.js"></script> 
     <script type="text/javascript"> 
      function movImg(img){ 
       var bImg = document.getElementById('myimage'); 
       bImg.src = img.src; 
       jQuery('#myimage').one("load", function() { 
        jQuery('#myimage').addpowerzoom(); 
       }); 
      }; 

      jQuery(document).ready(function($){ 
       $('#myimage').addpowerzoom(); 
      }); 
     </script> 
    </head> 
    <body> 
     <img id="myimage" src="img/abc.jpg" alt="" /> 
     <img id="thumb" src="thumbnails/xyz.jpg" onClick="movImg(this);" width="64px" style="cursor: pointer;" /> 
    </body> 
</html> 
+0

noops它说'类型错误:$(...)addpowerzoom()'是不是一个函数... – Shah 2013-03-27 11:25:16

+0

我希望它只是一个错字,但它应该是''烨 – 2013-03-27 22:51:17

+0

的一个错字:)。感谢它的魅力...... – Shah 2013-03-28 05:47:18