तो जहाँ तक मैं देख सकते हैं चहचहाना बूटस्ट्रैप का खुलासा नहीं करता क्या दिशा हिंडोला घटना वस्तु के माध्यम से चल रहा है। हालांकि, यह स्लाइड में शामिल तत्वों के लिए "दाएं" या "बाएं" वर्ग जोड़ता है।
तो मूल रूप से मैं 2 विकल्प देखें। ईवेंट ऑब्जेक्ट में दिशा का पर्दाफाश करें या तत्वों पर दाएं या बाएं वर्ग की तलाश करें।
विकल्प 1:
आप बूटस्ट्रैप हिंडोला कोड को संशोधित करना होगा।
e = $.Event('slide')
e = $.Event('slide', {direction: direction})
(bootstrap.js के सामान्य संस्करण में लाइन 337-340 के आसपास)
के लिए और फिर आप के साथ दिशा प्राप्त कर सकते हैं: हिंडोला में, समारोह परिवर्तन स्लाइड कुछ इस तरह:
var $carousel = $('.carousel');
$carousel.carousel();
$carousel.bind('slide', function(e) {
console.log("e.direction = " + e.direction);
});
या Option2:
सीएसएस "छोड़" या "सही" वर्ग के लिए कुछ समय के तत्व में जोड़े जाने की प्रतीक्षा करें और फिर जाँच करता है, तो उस वर्ग मौजूद है।
var $carousel = $('.carousel');
$carousel.carousel();
$carousel.bind('slide', function(e) {
setTimeout(function(){
var left = $carousel.find('.item.active.left');
var right = $carousel.find('.item.active.right');
if(left.length > 0) {
console.log('left');
}
else if(right.length > 0) {
console.log('right');
}
}, 500);
});
टाइमआउट की आवश्यकता है क्योंकि ईवेंट ट्रिगर होने पर और बाएं दाएं वर्ग सेट होने पर दौड़ की स्थिति होती है। जाहिर है यह एक हैकर समाधान है, लेकिन आपको बूटस्ट्रैप कोड को संशोधित करने की आवश्यकता नहीं है। शायद अन्य विकल्प भी हैं, लेकिन मुझे लगता है कि विकल्प 1 सबसे अच्छा है।
संपादित करें: बूटस्ट्रैप सीएसएस (2.1.1) के नवीनतम संस्करण में विकल्प 1 के लिए लाइन परिवर्तन होगा:
(लाइन 340) से:
, e = $.Event('slide', {
relatedTarget: $next[0]
})
रहे हैं:
, e = $.Event('slide', {
relatedTarget: $next[0],
direction: direction
});
धन्यवाद, विकल्प 1 खूबसूरती से काम किया! – William
बस अगर किसी को इस पुराने प्रश्न में फंसे हुए हैं - यह अब और मामला प्रतीत नहीं होता है। 'स्लाइड' घटना में अब दिशा है। –
क्या आप अपने answere कृपया बूटस्ट्रैप संस्करण 3.1.1 के लिए अद्यतन कर सकते हैं? –