2017-01-25 84 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