উত্তর:
আপডেট: jQuery 1.4 হিসাবে আপনি .delay( n )
পদ্ধতিটি ব্যবহার করতে পারেন । http://api.jquery.com/delay/
$('.notice').fadeIn().delay(2000).fadeOut('slow');
দ্রষ্টব্য : $.show()
এবং $.hide()
ডিফল্টরূপে সারিবদ্ধ হয় না, সুতরাং আপনি যদি $.delay()
তাদের সাথে ব্যবহার করতে চান তবে আপনাকে সেগুলি কনফিগার করতে হবে:
$('.notice')
.show({duration: 0, queue: true})
.delay(2000)
.hide({duration: 0, queue: true});
আপনি সম্ভবত ক্যু সিনট্যাক্স ব্যবহার করতে পারেন, এটি কাজ করতে পারে:
jQuery(function($){
var e = $('.notice');
e.fadeIn();
e.queue(function(){
setTimeout(function(){
e.dequeue();
}, 2000 );
});
e.fadeOut('fast');
});
অথবা আপনি সত্যই বুদ্ধিমান হতে পারেন এবং এটি করার জন্য jQuery ফাংশন তৈরি করতে পারেন।
(function($){
jQuery.fn.idle = function(time)
{
var o = $(this);
o.queue(function()
{
setTimeout(function()
{
o.dequeue();
}, time);
});
};
})(jQuery);
যা (তাত্ত্বিকভাবে, এখানে স্মৃতিতে কাজ করে) আপনাকে এটি করার অনুমতি দেয়:
$('.notice').fadeIn().idle(2000).fadeOut('slow');
@ স্ট্রেজার দ্বারা দুর্দান্ত হ্যাক। এটি এর মতো jQuery এ প্রয়োগ করুন:
jQuery.fn.wait = function (MiliSeconds) {
$(this).animate({ opacity: '+=0' }, MiliSeconds);
return this;
}
এবং তারপরে এটি ব্যবহার করুন:
$('.notice').fadeIn().wait(2000).fadeOut('slow');
বেন আলমান ডুটাইমআউট নামক jQuery এর জন্য একটি মিষ্টি প্লাগইন লিখেছিলেন। এটিতে অনেক সুন্দর বৈশিষ্ট্য রয়েছে!
এটি এখানে দেখুন: jQuery doTimeout: সেটটাইমআউট পছন্দ, তবে আরও ভাল ।
এটির মতো ব্যবহার করতে সক্ষম হতে আপনাকে ফিরে আসতে হবে this
। রিটার্ন ব্যতীত fadeOut ('ধীর'), এই ক্রিয়াকলাপটি সম্পাদন করার জন্য কোনও বস্তু পাবেন না।
অর্থাৎ,
$.fn.idle = function(time)
{
var o = $(this);
o.queue(function()
{
setTimeout(function()
{
o.dequeue();
}, time);
});
return this; //****
}
তারপরে এটি করুন:
$('.notice').fadeIn().idle(2000).fadeOut('slow');
এটি jQuery এর কয়েকটি লাইন দিয়ে করা যেতে পারে:
$(function(){
// make sure img is hidden - fade in
$('img').hide().fadeIn(2000);
// after 5 second timeout - fade out
setTimeout(function(){$('img').fadeOut(2000);}, 5000);
});
কার্যকারী উদাহরণের জন্য নীচের অংশচূড়াটি দেখুন ...