2017-01-25 40 views
-1

我有一个图像库功能与大图像imagezoom。 当大图像被改变,我点击它来激活缩放功能,它显示旧图像。 我认为该变量没有改变在JavaScript?Javascript不采取变化的变量

<script type="text/javascript"> 
function change_img(imgurl) { 
    image = document.getElementById('preview'); 
    image.src = imgurl 
    imageURL = imgurl 
} 
$(document).ready(function(){ 
    var imageURL = document.getElementById('preview').src; 

$('#ex3').click(function() { 
    var imageURL = document.getElementById('preview').src 
    $('#ex3') 
     .zoom({ on:'click', magnify:1.8, url:imageURL }) 
     .wrap('<span style="display:inline-block"></span>') 
     .css('display', 'block'); 
}) 
}); 

编辑: 这样缩略图将被创建:

<span class='zoom' id='ex3'> 
    <img id="preview" name="preview" src="default.jpg" border="0" align="center"/> 
    <span class="zoom-btn"></span> 
</span> 
<!-- BEGIN thumbs --> 
    <div class="thumbnails"> 
     <img id="thumbimg" onclick="change_img('{PATH}/{thumbs.ID}')" name="img" src="{PATH}/{thumbs.ID}" alt="" /> 
    </div> 
<!-- END thumbs --> 

在javascript中.zoom它应该是在改变路径 “网址:IMAGEURL”。 任何人都知道如何获得imageURL中的实际路径?

+0

imageURL is not global =/ – krisph

+0

好吧我认为它是一个愚蠢的问题,但如何使它成为全球呢? –

+0

在脚本标记之后声明它:'var imageURL;' – Johannes

回答

0

编辑:这会工作吗? - 我老实说不知道这个缩放功能是否改变img源码。如果没有,从这里改变它应该相当容易。从搜索看来,似乎有几个你可以使用的。

<span class='zoom' id='ex3' data-src="changedimg.jpg"> 
    <img id="preview" name="preview" src="default.jpg" border="0" align="center"/> 
    <span class="zoom-btn"></span> 
</span> 

<script type="text/javascript"> 
$(document).ready(function(){ 

    $('#ex3').click(function() { 
     var newURL = this.data('src') 
     $('#ex3') 
      .zoom({ on:'click', magnify:1.8, url: newURL }) 
      .wrap('<span style="display:inline-block"></span>') 
      .css('display', 'block'); 
    }) 
}); 
</script> 
+0

对不起,我不熟悉jQuery的缩放功能,我可以编辑我的答案。我想到了在正确的时间被调用的上下文。错误的假设。 – thesublimeobject

+0

感谢您的帮助,但其同样的问题:) –

+0

您为什么不将它存储在节点中的数据属性中,而是将其替换为“changedImage”那样......这有道理吗?我看不出有什么理由为什么你不应该这样做,但可能有些事我没有看到。 *改变了我的答案,所以你可以尝试这种方法* – thesublimeobject