التابع ‎.fadeIn()‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎ في jQuery

من موسوعة حسوب
< jQuery
مراجعة 11:01، 1 يوليو 2018 بواسطة عبد اللطيف ايمش (نقاش | مساهمات) (استبدال النص - 'jQuery/jQuery.fx.off' ب'jQuery/jQuery/fx/off')
اذهب إلى التنقل اذهب إلى البحث

‎.fadeIn( [duration ] [, complete ] )‎

القيمة المعادة

يُعيد كائنًا من النوع jQuery.

الوصف

يعرض هذا التابع العناصر المطابقة عن طريق تحويلها إلى الإعتام (opaque، أي لن تصبح شفافةً) تدريجيًا.

‎.fadeIn( [duration ] [, complete ] )‎

أُضيف مع الإصدار: 1.0.

duration (القيمة الافتراضية: 400)

مدة الحركة وهو من النوع عدد Number أو سلسلة نصية String.

complete

دالة على الشكل Function()‎، تُستدعى بمجرد اكتمال الحركة، وتُستدعى مرة واحدة لكل عنصر مطابق.

‎.fadeIn( options )‎

أُضيف مع الإصدار: 1.0.

options

كائن من النوع Object، ويقدم مجموعة من الخيارات الإضافية لتمريرها إلى التابع.

duration (القيمة الافتراضية: 400)

مدة الحركة وهو من النوع عدد Number أو سلسلة نصية String.

easing (القيمة الافتراضية: swing)

سلسلة نصية من النوع String، تُشير إلى دالة التخفيف المستخدمة في عملية التحوّل.

queue (القيمة الافتراضية: true)

قيمة منطقية Boolean تُشير إلى ما إذا كان الحركة ستندرج في قائمة انتظار التأثيرات، وهي من النوع Boolean أو String. إذا كانت قيمتها false، فستبدأ الحركة على الفور. كذلك يمكن، بدءًا من الإصدار jQuery 1.7، أن يقبل الخيار queue سلسلةً نصيةً، وفي هذه الحالة تضاف الحركة إلى قائمة الانتظار التي تمثلها تلك السلسلة. عند استخدام اسم قائمة انتظار مخصصة لا تبدأ الحركة تلقائيًا؛ فيجب عليك استدعاء ‎.dequeue("queuename")‎ لبدء تشغيله.

specialEasing

وهو كائن من النوع Object، يحتوي على واحد أو أكثر من خاصيات CSS المعرفة بواسطة وسيط الخصائص ودوال الحركة السلسلة المقابلة لها. (أُضيف مع الإصدار: 1.4).

step

دالة على الشكل Function( Number now, Tween tween )‎، تُستدعى لكل خاصية تحريك لكل عنصر متحرك. توفر هذه الدالة فرصة لتعديل الكائن Tween لتغيير قيمة الخاصية قبل ضبطها.

progress

دالة على الشكل Function( Promise animation, Number progress, Number remainingMs )‎، تُستدعى بعد كل خطوة من الحركات، مرة واحدة فقط لكل عنصر متحرك بغض النظر عن عدد الخصائص المتحركة. (أُضيفت مع الإصدار: 1.8 ).

complete

دالة على الشكل Function()‎، تُستدعى مرة واحدة بمجرد اكتمال حركة العنصر.

start

دالة على الشكل Function( Promise animation )‎، تُستدعى عند بدء حركة عنصر ما. (أُضيفت مع الإصدار: 1.8 ).

done

دالة على الشكل Function( Promise animation, Boolean jumpedToEnd )‎، تُستدعى عند اكتمال حركة العنصر (قبول كائن Promise الخاص بها). (أُضيفت مع الإصدار: 1.8).

fail

دالة على الشكل Function( Promise animation, Boolean jumpedToEnd )، تُستدعى عند فشل إكمال حركة العنصر (رفض الكائن Promise الخاص بها). (أُضيفت مع الإصدار: 1.8).

always

دالة على الشكل Function( Promise animation, Boolean jumpedToEnd )، تُستدعى عند اكتمال حركة عنصر أو توقفها دون إتمامها (إما أن يكون كائن Promise قد قُبِل أو رُفِض). (أُضيف مع الإصدار: 1.8 ).

‎.fadeIn( [duration ] [, easing ] [, complete ] )‎

أُضيف مع الإصدار: 1.4.3.

duration (القيمة الافتراضية: 400)

مدة الحركة وهو من النوع عدد Number أو سلسلة نصية String.

easing (القيمة الافتراضية: swing)

سلسلة نصية من النوع String، تُشير إلى دالة التخفيف المستخدمة في عملية التحوّل.

complete

دالة على الشكل Function()‎، تُستدعى بمجرد اكتمال الحركة، وتُستدعى مرة واحدة لكل عنصر مطابق.

يُحرك التابع ‎.fadeIn()‎ عتامة العناصر المُطابقة. وهو يشبه التابع ‎.fadeTo()‎ ولكن هذا التابع لا يُظهِر العنصر ويمكنه تحديد مستوى التعتيم النهائي.

تُعطى المدد بالمللي ثانية، وتُشير القيم الأعلى إلى حركة أبطأ، وليس أسرع. يمكن إدخال السلاسل النصية 'fast' و 'slow' للإشارة إلى الفترات 200 و 600 ميللي ثانية، على التوالي. أمّا إذا أُدخلت أي سلسلة نصية أخرى، أو إذا حُذِف المعامل duration، تستخدم المدة الافتراضية 400 ميللي ثانية.

يمكننا تحريك أي عنصر، مثل صورة بسيطة:

<div id="clickme">
  Click here
</div>
<img id="book" src="book.png" alt="" width="100" height="123">
 
<script>
// مع إخفاء العنصر في البداية، يمكننا عرضه ببطء
$( "#clickme" ).click(function() {
  $( "#book" ).fadeIn( "slow", function() {
    // Animation complete
  });
});
</script>

الحركة السلسة

اعتبارًا من الإصدار jQuery 1.4.3، يمكن استخدام سلسلة اختيارية تسمى دالة الحركة السلسة. تحدد دوال الحركة السلسة التي يتقدم بها التحريك في نقاط مختلفة داخل الحركة. تُعد تطبيقات التخفيف الوحيدة في مكتبة jQuery هي التطبيقات الافتراضية، وتُدعى swing، والتطبيق الذي يتقدم بوتيرة ثابتة ويُدعى linear. وتتوفر المزيد من دوال التخفيف مع استخدام المُلحقات، وعلى الأخص طاقم jQuery UI .

دوال رد النداء

تنطلق دوال رد النداء، إذا توفرت، بمجرد اكتمال الحركة. ويمكن أن يكون هذا مفيدًا لإدراج حركات مختلفة معا في تسلسل. لا يُرسل لدوال رد النداء أي وسائط، ولكن يُضبط المعامل this إلى عنصر DOM الذي يجري تحريكه. في حالة تحريك عناصر متعددة، من المهم ملاحظة أن دالة رد نداء تُنفذ مرة واحدة لكل عنصر مُطابق، وليس مرة واحدة للحركة ككل.

بدءًا من الإصدار jQuery 1.6، يمكن استخدام التابع ‎.promise()‎ بالتزامن مع التابع deferred.done()‎ لتنفيذ دالة رد نداء واحدة للحركة ككل عند اكتمال حركة جميع العناصر المطابقة (راجع أمثلة التابع ‎‎.promise()‎).

ملاحظات إضافية

يمكن إيقاف تشغيل كافة تأثيرات jQuery، بما في ذلك ‎.fadeIn()‎، بشكل عام عن طريق ضبط jQuery.fx.off = true، والذي يضبط فعليًا المدة إلى 0. لمزيد من المعلومات، راجع jQuery.fx.off .

أمثلة

تحريك عناصر <div> المخفية كي تتلاشى واحد تلو الآخر، مكملاً كل حركة خلال 600 مللي الثانية:

<!doctype html>
<html lang="en">
<head>
  <meta charset="utf-8">
  <title>fadeIn demo</title>
  <style>
  span {
    color: red;
    cursor: pointer;
  }
  div {
    margin: 3px;
    width: 80px;
    display: none;
    height: 80px;
    float: left;
  }
  #one {
    background: #f00;
  }
  #two {
    background: #0f0;
  }
  #three {
    background: #00f;
  }
  </style>
  <script src="https://code.jquery.com/jquery-1.10.2.js"></script>
</head>
<body>
 
<span>Click here...</span>
<div id="one"></div>
<div id="two"></div>
<div id="three"></div>
 
<script>
$( document.body ).click(function() {
  $( "div:hidden:first" ).fadeIn( "slow" );
});
</script>
 
</body>
</html>

تلاشي صندوق أحمر فوق النص. بمجرد الانتهاء من الحركة، يتلاشى نص آخر بسرعة أكبر فوقه:

<!doctype html>
<html lang="en">
<head>
  <meta charset="utf-8">
  <title>fadeIn demo</title>
  <style>
  p {
    position: relative;
    width: 400px;
    height: 90px;
  }
  div {
    position: absolute;
    width: 400px;
    height: 65px;
    font-size: 36px;
    text-align: center;
    color: yellow;
    background: red;
    padding-top: 25px;
    top: 0;
    left: 0;
    display: none;
  }
  span {
    display: none;
  }
  </style>
  <script src="https://code.jquery.com/jquery-1.10.2.js"></script>
</head>
<body>
 
<p>
  Let it be known that the party of the first part
  and the party of the second part are henceforth
  and hereto directed to assess the allegations
  for factual correctness... (<a href="#">click!</a>)
  <div><span>CENSORED!</span></div>
</p>
 
<script>
$( "a" ).click(function() {
  $( "div" ).fadeIn( 3000, function() {
    $( "span" ).fadeIn( 100 );
  });
  return false;
});
</script>
 
</body>
</html>

مصادر