यह वही मुद्दा था। मैंने नीचे मार्कअप का उपयोग किया और शुरुआत में <div class="bxsliderWrapper">
को सीएसएस display: none;
के साथ छुपाया, मैंने देखा कि स्लाइड्स की चौड़ाई <div class="slide">
को 1px पर प्रस्तुत किया गया था।
मुझे संदेह है कि इसमें प्रारंभिक कंटेनर के आयामों को ले जाने वाले उत्तरदायी फीचर्ड के साथ कुछ करना है, जो छिपा हुआ था, और प्रत्येक स्लाइड के लिए इनलाइन शैलियों को परिभाषित करना था।
<div class="bxsliderWrapper">
<div class="bxslider">
<div class="slide">Your Content</div>
<div class="slide">Your Content</div>
<div class="slide">Your Content</div>
</div>
</div>
मेरे समाधान क्या bradrice उपयोग के बारे में ऊपर उल्लेख किया है के समान है कॉल-बैक कार्यों में बनाया गया। मैंने बस reloadSlider()
फ़ंक्शन को show()
फ़ंक्शन में जोड़ा है।
<script type="text/javascript">
var $j = jQuery.noConflict();
$j(document).ready(function(){
var homeSlider = $j('.bxslider').bxSlider();
$j(".bxsliderWrapper").show(0, "swing", function(){homeSlider.reloadSlider();});
});
</script>
यह एक बार शो() पूरा हो जाने पर पुनः लोड करने को ट्रिगर करता है।
।
संपादित
मूल समाधान ऊपर शुरू में काम किया, लेकिन मैं मुद्दों था जब कैश हार्ड रीफ़्रेश shift + REFRESH
दौरान साफ कर दिया गया। मुझे लगता है कि .show()
फ़ंक्शन द्वारा लक्षित तत्वों को समय पर उपलब्ध नहीं था या संसाधन अभी तक लोड नहीं किए गए थे। (मुझे अनुमान है) नीचे इस व्यवहार के लिए एक फिक्स है।
इसके बजाय Bx स्लाइडर
display: none;
साथ
<div>
युक्त छुपाने का
, मैं visibility
सीएसएस विशेषता का उपयोग स्लाइड छवियों को छुपा दिया।
.bxslider .slide {
visibility: hidden;
}
इस स्लाइडर जब तक वे तैयार हैं स्क्रीन पर छवियों को देखे बिना सही आकार में रेंडर करने के लिए अनुमति देता है। तब मैंने पेज 0 लोड होने के बाद दृश्यता बदलने के लिए $j(window).load()
द्वारा ट्रिगर किए गए jQuery .css()
विधि का उपयोग किया। इसने सुनिश्चित किया कि सभी कोड और तत्व उन्हें प्रदर्शित करने से पहले मौजूद थे।
<script type="text/javascript">
var $j = jQuery.noConflict();
$j(document).ready(function(){
var homeSlider = $j('.bxslider').bxSlider();
});
$j(window).load(function(){
$j(".bxslider .slide").css("visibility", "visible");
});
</script>
इस विधि भी कई स्लाइडर्स एक ही पृष्ठ पर साथ काम किया। मुझे .show()
विधि मिली जो स्लाइडर के सभी उदाहरणों को तोड़ने के कारण हुई। मैं केवल अनुमान लगा रहा हूं कि यह एक बेहतर समाधान क्यों है लेकिन शायद कोई इसे बेहतर समझने के लिए कुछ जानकारी जोड़ सकता है।
उस तत्व पर 'डिस्प्ले: छुपा' रखें जिसमें स्लाइडर और दस्तावेज़ पर है। इसे दिखाएं। –
अतिप्रवाह का उपयोग करें: छुपा और ऊंचाई: स्लाइडर वाले तत्व पर 'स्लाइडर की ऊंचाई'। –