2012-12-23 75 views
0

我一直在尋找和搜索沒有解決方案。我有這樣的HTML:jQuery或PHP刷新點擊隨機圖像腳本

<div class="content_wrap"> 
    <script src="jslib/random_image.js"></script> 
</div> 

和鏈接:

<li><a href="javascript:location.reload();" target="_self">Random image</a></li> 

但不是重新加載整個頁面(跛腳),我想要麼刷新DIV(不知道它是否可能),或者至少刷新random_image.js

你怎麼用jQuery做到這一點?還是PHP,還是別的?

回答

0

假設你在DIV

<div class="content_wrap"> 
    <script src="jslib/random_image.js"></script> 
    <img id="random_image" href=""> 
</div> 


function updateNewImage(){ 
//make ajax to server 
// get new url store it in variable new_href 
// update random_image $("$random_image").attr("href",new_href); 
} 
<li><a href="javascript:updateNewImage();" target="_self">Random image</a></li> 

,你可以調用的onclick功能,將使用AJAX獲得新的圖像的URL,然後你可以更新IMG HREF位置已經IMG目錄。

+0

這是在div一個javascript,對於一個隨機圖像和一些字幕調用文本。 –

+0

@brianjohnson和它做什麼? –

0

未測試過代碼,但假設沒有重大錯誤,應該這樣做。我假設你擁有jQuery的(也可以用簡單的JS做,但還不如用JQ):

<div class="content_wrap" id="content_wrap"> 
    <img id="rndImg1" src="clicktorelodme.png"/> 
</div> 

<script> 
function reloadImage(imgId) { 
    String randomImgSrc = "anewimgsrc.png"; 
    $("#content_wrap").find("#"+imgId).attr("src", randomImgSrc); 
} 
</script> 


<li><a href="#" onclick="reloadImage('rndImg1'); return false;">Random image</a></li> 

看你的回答另一個答案你想要做多刷新圖像我明白了,你想要加載代碼,像設置圖像,設置標題等「東西」。

要做到這一點,你需要做一些其他的事情,比如添加一個新的腳本元素到頁面,它可以做任何你想要的。看看this answer來學習如何做到這一點。

0

你首先需要一種方法來參考您的DIV,例如ID:

<div class="content_wrap" id="randomImage"> 
    <script src="jslib/random_image.js"></script> 
</div> 

然後重新加載DIV你可以簡單地改寫其內容。這可能會被瀏覽器緩存,因此,根據腳本的工作方式,您可能會被迫爲該調用添加一個虛擬參數。

您可以重新申報整個DIV排空,並與append()重現,或者您可以使用​​它提供了更多的控制:

$('#randomImage').load('jslib/random_image.js?dummy='+Math.random(), 
    function(res, status, xhr){ 
     if ('success' != status) 
     { 
      // Do something with the image, maybe load a default one 
      return; 
     } 
});