2012-05-11 27 views
6

मुझे jquery एनिमेट स्क्रॉल के साथ एक समस्या का सामना करना पड़ रहा है परिभाषित div पर।क्रॉस ब्राउज़र jquery एनिमेट स्क्रॉलटॉप

मैं स्क्रॉल चेतन के लिए इस कोड का उपयोग करें:

$('body').animate({scrollTop: $('#sections_display').offset().top-100}, 500, function(){ 
    $('#ajax_load').load('file.php'); 
}); 

लेकिन यह फ़ायरफ़ॉक्स में या IE में काम नहीं करते।

और जब मैं $('body').animate के बजाय $('html').animate का उपयोग करता हूं तो यह क्रोम में काम नहीं करता है।

मैंने दोनों का उपयोग करने की भी कोशिश की: $('html,body').animate लेकिन समस्या कॉलबैक फ़ंक्शन $('#ajax_load').load('file.php'); को दो बार निष्पादित किया गया है और यह फ़ाइल को 2 बार कॉल करता है।

मैं अस्थायी php का उपयोग करके समस्या हल हो लेकिन इस समाधान मुझे कोड ब्राउज़रों जो $('body').animate और $('html').animate समर्थन के 2 सरणियों बनाने के लिए हर पृष्ठ में 2 बार दोहराने के लिए मजबूर कर दिया।

मैंने यहां खोज की और यह पाया: jquery animate scrolltop callback लेकिन काम नहीं किया।

मैं भी करने की कोशिश की:

$(window).animate

$(document).animate

$('#container-div').animate

लेकिन कोई रास्ता नहीं इस लक्ष्य को हासिल करने के लिए।

क्या मुझे यह प्राप्त करने के लिए एक क्रॉस ब्राउज़र विधि मिल सकती है?

उत्तर

1

Hacky समाधान चाल कर सकता ...

$('html,body').animate({scrollTop: $('#sections_display').offset().top-100}, 500); 

setTimeout(function(){ 
    $('#ajax_load').load('file.php'); 
}, 500); 
+0

देरी (500) का कोई प्रभाव नहीं पड़ा, मुझे नहीं पता क्यों? मैंने देरी (10000) का परीक्षण किया लेकिन उसी परिणाम "कोई देरी नहीं" – semsem

+0

हिम ... हाँ लगता है कि लोड() विधि कतार नहीं होगी, लेकिन मैंने अपने उत्तर में एक और समाधान जोड़ा है जो चाल – trapper

+0

करना चाहिए , धन्यवाद – semsem

1

रूप this post

में उल्लेख किया है यह सभी प्रमुख ब्राउज़रों पर काम नहीं करेगा। 'Html' पर लागू होने पर उनमें से सभी स्क्रॉलिंग का समर्थन नहीं करते हैं, कुछ को 'बॉडी' की आवश्यकता होती है। यह इस बात पर निर्भर करता है कि आप क्विर्क मोड पर हैं या नहीं। एनिमेटिंग iframes

विषय स्टार्टर एक दूसरे के बजाय html,body पर एनिमेटिंग को समाप्त कर देता है।

+0

हां, मैंने यह पोस्ट पढ़ा है, लेकिन मैंने खोज करने का फैसला किया और यह जानने के लिए कहा कि क्या इसके लिए कोई हैक है – semsem