थोड़ी देर के लिए स्टैक ओवरफ़्लो पर एक लर्कर रहा, साइट से प्यार है।

अब मेरी बारी है। नीचे दिए गए कोड से, मैं हर बार पृष्ठ लोड होने पर पृष्ठभूमि छवि को यादृच्छिक बना रहा हूं।

क्या कोई इतना दयालु होगा कि मुझे इसे और अधिक कुशल बनाने में मदद करे ताकि मुझे अपने फ़ाइल नाम मैन्युअल रूप से दर्ज करने की आवश्यकता न हो? मैं किसी प्रकार के वाइल्डकार्ड फ़ंक्शन की तलाश में हूं जो मेरे दिए गए फ़ोल्डर को देख सकता है और पाद लेख *। पीएनजी या यहां तक ​​​​कि *। पीएनजी लोड कर सकता है क्योंकि इस फ़ोल्डर में केवल पाद लेख पैटर्न होंगे।

var images = ['footer.png', 'footer2.png', 'footer3.png'];

$('#footer').css({'background-image': 'url(images/footers/' + images[Math.floor(Math.random() * images.length)] + ')'});
0
Shannon 14 अप्रैल 2011, 23:26
4
आप Javascript वाले फ़ोल्डर नहीं पढ़ सकते हैं। फ़ोल्डर को पढ़ने और अपने जावास्क्रिप्ट कोड के लिए सभी फ़ाइल नाम लिखने के लिए आपको एक सर्वर साइड भाषा की आवश्यकता है जैसे PHP।
 – 
Cfreak
14 अप्रैल 2011, 23:31
आप सर्वर साइड (आरओआर, एएसपीनेट एमवीसी, आदि) पर क्या उपयोग कर रहे हैं?
 – 
sarvesh
14 अप्रैल 2011, 23:32

1 उत्तर

सबसे बढ़िया उत्तर

PHP के साथ, आप यह कर सकते हैं:

<?php

$directory = "./images/";
$images = glob($directory . "*.png");

foreach($images as $image)
{
  echo $image . "\n";
}

?>

बस $directory को एक मनमाना तर्क न दें, क्योंकि रूसी हैकर्स आपके वेबएप को जैक कर देंगे।

इसका उपयोग करने के लिए, PHP फ़ाइल के लिए AJAX अनुरोध करें और आउटपुट को पार्स करें, प्रत्येक फ़ाइल को \n वर्ण से अलग करें।

तो jQuery के साथ,

var images = [];

jQuery.load('images.php', function(data)
{
  images = data.split('\n');
});
2
Blender 14 अप्रैल 2011, 23:34
रूसियों के खिलाफ चेतावनी देना अच्छा है!
 – 
Marcel Korpel
14 अप्रैल 2011, 23:52
योग्य, एक होने के नाते, मुझे यह सम्मान की बात लगती है;)
 – 
Blender
14 अप्रैल 2011, 23:53