سؤال

كنت أتساءل كيف في مسج أنا قادرة على إخفاء div بعد بضع ثوان ؟ مثل Gmail الرسائل على سبيل المثال.

لقد حاولت جهدي ولكن غير قادر على الحصول على عمل.

هل كانت مفيدة؟

المحلول

وهذا سوف إخفاء شعبة بعد 1 ثانية (1000 ميلي ثانية).

setTimeout(function() {
    $('#mydiv').fadeOut('fast');
}, 1000); // <-- time in milliseconds
#mydiv{
    width: 100px;
    height: 100px;
    background: #000;
    color: #fff;
    text-align: center;
}
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<div id="mydiv">myDiv</div>

إذا كنت ترغب فقط في إخفاء دون أن يتلاشى، استخدم hide().

نصائح أخرى

ويمكنك أن تجرب .delay()

$(".formSentMsg").delay(3200).fadeOut(300);

واستدعاء شعبة ضبط الوقت تأخير في ميلي ثانية وتعيين الخاصية التي تريد تغييرها، في هذه الحالة كنت .fadeOut () بحيث يمكن أن تكون متحركة، ولكن يمكنك استخدام .hide () كذلك.

http://api.jquery.com/delay/

هناك طريقة بسيطة للقيام بذلك.

المشكلة هي أن .التأخير فقط آثار الرسوم المتحركة, لذلك ما عليك القيام به هو جعل .إخفاء() تتصرف مثل الرسوم المتحركة من خلال إعطائها مدة.

$("#whatever").delay().hide(1);

بإعطائه لطيفة مدة قصيرة ، يبدو أن لحظة تماما مثل العادية .إخفاء وظيفة.

ومسج يقدم مجموعة متنوعة من الأساليب لإخفاء شعبة بطريقة الموقوتة التي لا تتطلب إعداد وبعد تطهير أو إعادة توقيت الفاصلة أو غيرها من معالجات الأحداث. وفيما يلي بعض الأمثلة على ذلك.

واخفاء النقي، تأخير ثانية واحدة

// hide in one second
$('#mydiv').delay(1000).hide(0); 

واخفاء الصرفة، أي تأخير

// hide immediately
$('#mydiv').delay(0).hide(0); 

واخفاء المتحركة

// start hide in one second, take 1/2 second for animated hide effect
$('#mydiv').delay(1000).hide(500); 

وتتلاشى

// start fade out in one second, take 300ms to fade
$('#mydiv').delay(1000).fadeOut(300); 

وبالإضافة إلى ذلك، يمكن للأساليب اتخاذ اسم قائمة الانتظار أو وظيفة كمعلمة الثانية (اعتمادا على طريقة). وثائق لجميع المكالمات أعلاه والمكالمات الأخرى ذات الصلة يمكن الاطلاع هنا: https://api.jquery.com/category/effects/

$.fn.delay = function(time, callback){
    // Empty function:
    jQuery.fx.step.delay = function(){};
    // Return meaningless animation, (will be added to queue)
    return this.animate({delay:1}, time, callback);
}

http://james.padolsey.com/javascript/jquery-delay- المساعد /

و(يسمح تسلسل أساليب)

وإستخدام المؤقت مسج سوف تسمح لك أيضا أن يكون له اسم المرتبطة توقيت التي تعلق على الكائن. لذلك يمكن أن نعلق عدة توقيت إلى كائن ووقف أي واحد منهم.

$("#myid").oneTime(1000, "mytimer1" function() {
  $("#something").hide();
}).oneTime(2000, "mytimer2" function() {
  $("#somethingelse").show();  
});

$("#myid").stopTime("mytimer2");

وحدة التقييم وظيفة (والأقارب، وظيفة، setTimeout، وsetInterval) توفر الوصول إلى مترجم جافا سكريبت. وهذا أمر ضروري في بعض الأحيان، ولكن في معظم الحالات، يدل على وجود الترميز سيئة للغاية. وظيفة وحدة التقييم هي الميزة الأكثر إساءة استخدام جافا سكريبت.

http://www.jslint.com/lint.html

وربما كان أسهل طريقة هي استخدام البرنامج المساعد توقيت. http://plugins.jquery.com/project/timers ومن ثم استدعاء شيء من هذا القبيل

$(this).oneTime(1000, function() {
    $("#something").hide();
  });

ويمكننا استخدام مباشرة

$('#selector').delay(5000).fadeOut('slow');
مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top