2011-04-26 46 views
0

我想實現的是一個jQuery圖像預加載器,它根據當前文檔加載不同的圖像。我想要實現這一點的方式是通過類似於以下的jQuery腳本: documentname-extension(即.php .html)+ _definable imagename和擴展名。 例如,如果當前文檔是index.php,並且您將imagename定義爲_kids.jpg,則預加載器將加載文件index_kids.jpg,如果您在文檔market.php中,則預加載器將加載文件market_kids.jpg 。 我不是很熟練jQuery,我有一些想法如何使腳本來做到這一點,但沒有真正組織。我希望有人能幫助我。jQuery圖像預加載,相對於當前文檔

+0

這似乎是更多的PHP相關的問題,然後jQuery。還是有一個特定的原因,爲什麼你想要做這個客戶端? – mekwall 2011-04-26 07:47:35

+0

@alex我想你可能有一個答案。 – Jason 2011-04-26 07:47:54

+0

@Marcus .php文件只是一個可能的擴展名,我只是說如果文檔是.html或.php我希望它不會混淆兩種方式。 – Jason 2011-04-26 07:49:15

回答

1

如果您使用的是PHP,你可以做這樣的:

var img = new Image(); 
img.src = "<?php echo substr(__FILE__, 0, strrpos(__FILE__, '.')); ?>_kids.jpg"; 

爲JavaScript,唯一的解決辦法,這將表現就像上面的例子:

var href = document.location.href; 
var filename = href.substring(href.lastIndexOf('/')+1, href.lastIndexOf('.')); 
img.src = filename+"_kids.jpg"; 
+0

@Marcus所以這樣做可以說是我之前提到的「開箱即用」。我的意思是看它它接縫,如果我把它放在一個函數()包裝,這是正確的? – Jason 2011-04-26 07:56:33

+0

@Marcus嗯,它似乎並沒有工作。我的測試服務器在這裏http://www.letsmine.info/Sundalah如果你想自己檢查一下。 – Jason 2011-04-26 08:03:03

+0

@馬庫斯等我一秒鐘,我忘了修改一些東西。 – Jason 2011-04-26 08:03:49

1

獲取當前文件的文件名沒有擴展名,試試這個...

echo basename(__FILE__, '.' . pathinfo(__FILE__, PATHINFO_EXTENSION)); 

CodePad

+0

@alex你如何得到它沒有擴展名? – Jason 2011-04-27 06:31:25

+0

@Jason對不起,這就是我的意思。我會更新它。 – alex 2011-04-27 06:36:22

+0

@alex謝謝你,書籤所有這些偉大的東西! – Jason 2011-04-27 06:38:03