2012-07-03 16 views
5

के माध्यम से लोड होने पर पूरी तरह से स्थित तत्व पर काम नहीं कर रहा है, मैं एक साइट पर AJAXify का उपयोग कर रहा हूं, मैं पेज संक्रमण प्राप्त करने के लिए काम कर रहा हूं और jQuery के साथ कुछ अजीब व्यवहार का अनुभव कर रहा हूं।jQuery: fadeout() AJAX

मेरे कोड:

एचटीएमएल

<div id="backgrounds"> 
<img src="/assets/Uploads/hpbg3.jpg" alt="" class="bodybackground"> 
<img src="/assets/Uploads/hpbg2.jpg" alt="" class="bodybackground"> 
<img src="/assets/Uploads/hpbg4.jpg" alt="" class="bodybackground"> 
<img src="/assets/Uploads/hpbg5.jpg" alt="" class="bodybackground"> 
</div> 

(मैं jQuery के साथ पृष्ठभूमि के माध्यम से fading हूँ) jQuery

$('.otherClass').each(function() { 
     $('#backgrounds').fadeOut(function(){ 
       alert('fade'); 
      }); 
}); 

$('#main .container.homepageClass').each(function() { 
     $('#backgrounds').fadeIn(); 
}); 

सीएसएस

#backgrounds {display: none; position: absolute; left: 50%; margin-left: -714px;} 

मेरे div बाहर सही ढंग से fades कब मैं AJAX लिंक (और मुझे अलर्ट प्राप्त होता है) के माध्यम से लिंक करने के बजाय यूआरएल के माध्यम से पेज लोड करता है, हालांकि, जब मैं AJAXified नेविगेशन के माध्यम से इसे लिंक करता हूं, तो फीका नहीं होता है, फिर भी मुझे अभी भी अलर्ट मिलता है समारोह fadeOut() निश्चित रूप से ट्रिगर कर रहा है।

जब मैं सीएसएस से पूर्ण स्थिति को हटाता हूं और AJAX के माध्यम से पृष्ठ से लिंक करता हूं, तो मेरा div बाहर निकलता है क्योंकि मुझे इसकी आवश्यकता होती है (और मुझे चेतावनी मिलती है)। ऐसा लगता है कि यह मुद्दा div की पूर्ण स्थिति के साथ समस्या का कारण बन रहा है।

fadeIn() AJAX के माध्यम से या हार्ड लोड के साथ किसी प्रभावित पृष्ठ से लिंक करते समय पूर्ण स्थिति के साथ सही ढंग से काम करता है। यह सिर्फ fadeOut है जो मुद्दों का कारण बन रहा है।

कोई सुझाव?

उत्तर

4

मैं बस div को चौड़ाई जोड़कर इसे हल करने में कामयाब रहा। विचित्र

+0

से पूर्ण हटा दिया गया है, इससे मुझे भी मदद मिली। हालांकि, तत्व किसी भी लुप्तप्राय के बिना छिपा हुआ है। –

0

अपने फीडआउट फ़ंक्शन में एक अवधि जोड़ने का प्रयास करें जो वास्तव में बड़ा है, यानी 5-10 सेकंड। यदि आप अभी भी फीडआउट नहीं देखते हैं तो आप सीएसएस पर थोड़ी अधिक ध्यान केंद्रित कर सकते हैं। अन्यथा, आप जानते हैं कि Ajaxify का उपयोग करते समय कुछ रोक रहा है, और प्रतिपादन होने से पहले आपका फीडआउट ट्रिगर और पूरा हो रहा है।

क्षमा करें, अभी तक प्रश्नों पर टिप्पणी नहीं कर सकते - मुझे पता है कि यह कोई जवाब नहीं है।

0

यदि आप AJAXify gist by Balupton (जो ऐसा लगता है कि आप इसका उल्लेख कर रहे हैं) का उपयोग कर रहे हैं तो मैं कहूंगा कि मुझे उस जिस्ट के माध्यम से जावास्क्रिप्ट कोड लोड करने में समस्याएं आ रही हैं। क्या आप सत्यापित कर सकते हैं कि आप स्क्रिप्ट का उपयोग कर किसी भी जावास्क्रिप्ट को लोड कर रहे हैं? अपने प्रत्येक AJAXified पृष्ठों पर जावास्क्रिप्ट को शामिल करने का प्रयास करें जो alert("hello"); से अधिक कुछ नहीं करता है। यदि आपको कोड नहीं दिखाई देता है तो मैं शर्त लगाता हूं कि आपकी जावास्क्रिप्ट भी फायरिंग नहीं कर रही है। यदि ऐसा है तो यह कोड आज़माएं, यह मेरे लिए काम करता है:

$scripts.each(function(){ 
    var $script = $(this), scriptText = $script.text(); 
    scriptText = "<script>" + scriptText + "</script>"; 
    contentHtml += scriptText; 
}); 
+0

हाय, मैं यही उपयोग कर रहा हूं, हां। फीडऑट निश्चित रूप से मारा जा रहा है क्योंकि अलर्ट हर बार गोलीबारी कर रहा है। यह तब भी काम करता है जब स्थिति: सीएसएस – Fraser