الفرق بين المراجعتين لصفحة: «jQuery/fadeOut»

من موسوعة حسوب
أنشأ الصفحة ب'<noinclude>{{DISPLAYTITLE:التابع <code>‎.fadeIn()‎‎‎‎‎‎‎‎‎‎‎</code>‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎ في jQuery}}</no...'
 
طلا ملخص تعديل
سطر 1: سطر 1:
<noinclude>{{DISPLAYTITLE:التابع <code>‎.fadeIn()‎‎‎‎‎‎‎‎‎‎‎</code>‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎ في jQuery}}</noinclude>
<noinclude>{{DISPLAYTITLE:التابع <code>‎.fadeOut()‎‎‎‎‎‎‎‎‎‎‎</code>‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎ في jQuery}}</noinclude>
== <code>‎.fadeIn( [duration ] [, complete ] )‎</code> ==
==<code>‎.fadeOut( [duration ] [, complete ] )‎</code>==
 
===القيمة المعادة===
=== القيمة المعادة ===
يُعيد كائنًا من النوع [[JQuery/jQuery/|jQuery]].
يُعيد كائنًا من النوع [[jQuery/jQuery/|jQuery]].
===الوصف===
 
يُخفي هذا التابع العناصر المطابقة عن طريق تحويلها إلى شفافة تدريجيًا.
=== الوصف ===
===<code>‎.fadeOut( [duration ] [, complete ] )‎</code>===
يعرض هذا التابع العناصر المطابقة عن طريق تحويلها إلى الإعتام تدريجيًا.
 
=== <code>‎.fadeIn( [duration ] [, complete ] )‎</code> ===
أُضيف مع الإصدار: [http://api.jquery.com/category/version/1.0 1.0].
أُضيف مع الإصدار: [http://api.jquery.com/category/version/1.0 1.0].
 
====<code>duration</code> (القيمة الافتراضية: <code>400</code>)====
==== <code>duration</code> (القيمة الافتراضية: <code>400</code>) ====
مدة الحركة وهو من النوع عدد [[JavaScript/Number|Number]] أو سلسلة نصية [[JavaScript/String|String]].
مدة الحركة وهو من النوع عدد [[JavaScript/Number|Number]] أو سلسلة نصية [[JavaScript/String|String]].
 
====<code>complete</code>====
==== <code>complete</code> ====
دالة على الشكل [[JavaScript/Function|Function()]]‎، تُستدعى بمجرد اكتمال الحركة، وتُستدعى مرة واحدة لكل عنصر مطابق.
دالة على الشكل [[JavaScript/Function|Function()]]‎، تُستدعى بمجرد اكتمال حركة التحويل إلى الإعتام، وتُستدعى مرة واحدة لكل عنصر مطابق.
===<code>‎.fadeOut( options )‎</code>===
 
=== <code>‎.fadeIn( options )‎</code> ===
أُضيف مع الإصدار: [http://api.jquery.com/category/version/1.0 1.0].
أُضيف مع الإصدار: [http://api.jquery.com/category/version/1.0 1.0].
 
====<code>options</code>====
==== <code>options</code> ====
كائن من النوع [[JavaScript/Object|Object]]، ويقدم مجموعة من الخيارات الإضافية لتمريرها إلى التابع.
كائن من النوع [[JavaScript/Object|Object]]، ويقدم مجموعة من الخيارات الإضافية لتمريرها إلى التابع.
 
=====<code>duration</code> (القيمة الافتراضية: <code>400</code>)=====
===== <code>duration</code> (القيمة الافتراضية: <code>400</code>) =====
مدة الحركة وهو من النوع عدد [[JavaScript/Number|Number]] أو سلسلة نصية [[JavaScript/String|String]].
مدة الحركة وهو من النوع عدد [[JavaScript/Number|Number]] أو سلسلة نصية [[JavaScript/String|String]]
=====<code>easing</code> (القيمة الافتراضية: <code>swing</code>)=====
 
===== <code>easing</code> (القيمة الافتراضية: <code>swing</code>) =====
سلسلة نصية من النوع [[JavaScript/String|String]]، تُشير إلى دالة التخفيف المستخدمة في عملية التحوّل.
سلسلة نصية من النوع [[JavaScript/String|String]]، تُشير إلى دالة التخفيف المستخدمة في عملية التحوّل.
 
=====<code>queue</code> (القيمة الافتراضية: <code>true</code>)=====
===== <code>queue</code> (القيمة الافتراضية: <code>true</code>) =====
قيمة منطقية [[JavaScriptBoolean|Boolean]] تُشير إلى ما إذا كان الحركة ستندرج في قائمة انتظار التأثيرات، وهي من النوع [[JavaScriptBoolean|Boolean]] أو [[JavaScript/String|String]]. إذا كانت قيمتها <code>false</code>، فستبدأ الحركة على الفور. كذلك يمكن، بدءًا من الإصدار jQuery [http://api.jquery.com/category/version/1.7 1.7]، أن يقبل خيار <code>queue</code> سلسلة نصية، وفي هذه الحالة تضاف الحركة إلى قائمة الانتظار التي تمثلها تلك السلسلة. عند استخدام اسم قائمة انتظار مخصصة لا تبدأ الحركة تلقائيًا؛ فيجب عليك استدعاء ‎<code>[[JQuery/dequeue|.dequeue("queuename")‎]]</code> لبدء تشغيله.
قيمة منطقية [[JavaScriptBoolean|Boolean]] تُشير إلى ما إذا كان الحركة ستندرج في قائمة انتظار التأثيرات، وهي من النوع [[JavaScriptBoolean|Boolean]] أو [[JavaScript/String|String]]. إذا كانت قيمتها <code>false</code>، فستبدأ الحركة على الفور. كذلك يمكن، بدءًا من الإصدار jQuery [http://api.jquery.com/category/version/1.7 1.7]، أن يقبل خيار <code>queue</code> سلسلة نصية، وفي هذه الحالة تضاف الحركة إلى قائمة الانتظار التي تمثلها تلك السلسلة. عند استخدام اسم قائمة انتظار مخصصة لا تبدأ الحركة تلقائيًا؛ فيجب عليك استدعاء ‎<code>[[jQuery/dequeue|.dequeue("queuename")‎]]</code> لبدء تشغيله.
=====<code>specialEasing</code>=====
 
===== <code>specialEasing</code> =====
وهو كائن من النوع [[JavaScript/Object|Object]]، يحتوي على واحد أو أكثر من خصائص CSS المعرفة بواسطة وسيط الخصائص ودوال التخفيف المقابلة. (أُضيف مع الإصدار: [http://api.jquery.com/category/version/1.4 1.4]).
وهو كائن من النوع [[JavaScript/Object|Object]]، يحتوي على واحد أو أكثر من خصائص CSS المعرفة بواسطة وسيط الخصائص ودوال التخفيف المقابلة. (أُضيف مع الإصدار: [http://api.jquery.com/category/version/1.4 1.4]).
 
=====<code>step</code>=====
===== <code>step</code> =====
دالة على الشكل <code>[[JavaScript/Function|Function]]( [[JavaScript/Number|Number]] now, [[JavaScript/Tween|Tween]] tween )‎</code>، تُستدعى لكل خاصية تحريك لكل عنصر متحرك. توفر هذه الدالة فرصة لتعديل الكائن <code>[[JavaScript/Tween|Tween]]</code> لتغيير قيمة الخاصية قبل ضبطها.
دالة على الشكل <code>[[JavaScript/Function|Function]]( [[JavaScript/Number|Number]] now, [[JavaScript/Tween|Tween]] tween )‎</code>، تُستدعى لكل خاصية تحريك لكل عنصر متحرك. توفر هذه الدالة فرصة لتعديل الكائن <code>[[JavaScript/Tween|Tween]]</code> لتغيير قيمة الخاصية قبل ضبطها.
 
=====<code>progress</code>=====
===== <code>progress</code> =====
دالة على الشكل <code>[[JavaScript/Function|Function]]</code>( [[JavaScript/Promise|Promise]] animation, [[JavaScript/Number|Number]] progress, [[JavaScript/Number|Number]] remainingMs )‎، تُستدعى بعد كل خطوة من الحركات، مرة واحدة فقط لكل عنصر متحرك بغض النظر عن عدد الخصائص المتحركة. (أُضيفت مع الإصدار: [http://api.jquery.com/category/version/1.8 1.8] ).
دالة على الشكل <code>[[JavaScript/Function|Function]]</code>( [[JavaScript/Promise|Promise]] animation, [[JavaScript/Number|Number]] progress, [[JavaScript/Number|Number]] remainingMs )‎، تُستدعى بعد كل خطوة من الحركات، مرة واحدة فقط لكل عنصر متحرك بغض النظر عن عدد الخصائص المتحركة. (أُضيفت مع الإصدار: [http://api.jquery.com/category/version/1.8 1.8] ).
 
=====<code>complete</code>=====
===== <code>complete</code> =====
دالة على الشكل <code>[[JavaScript/Function|Function]]</code>()‎، تُستدعى مرة واحدة عند اكتمال حركة العنصر.
دالة على الشكل <code>[[JavaScript/Function|Function]]</code>()‎، تُستدعى مرة واحدة تو اكتمال حركة العنصر.
=====<code>start</code>=====
 
===== <code>start</code> =====
دالة على الشكل <code>[[JavaScript/Function|Function]]</code>( [[JavaScript/Promise|Promise]] animation )‎، تُستدعى عند بدء حركة عنصر ما. (أُضيفت مع الإصدار: [http://api.jquery.com/category/version/1.8 1.8] ).
دالة على الشكل <code>[[JavaScript/Function|Function]]</code>( [[JavaScript/Promise|Promise]] animation )‎، تُستدعى عند بدء حركة عنصر ما. (أُضيفت مع الإصدار: [http://api.jquery.com/category/version/1.8 1.8] ).
 
=====<code>done</code>=====
===== <code>done</code> =====
دالة على الشكل <code>[[JavaScript/Function|Function]]( [[JavaScript/Promise|Promise]] animation, [[JavaScriptBoolean|Boolean]] jumpedToEnd )</code>‎، تُستدعى عند اكتمال حركة العنصر (قبول كائن <code>[[JavaScript/Promise|Promise]]</code> الخاص بها). (أُضيفت مع الإصدار: [http://api.jquery.com/category/version/1.8 1.8]).
دالة على الشكل <code>[[JavaScript/Function|Function]]( [[JavaScript/Promise|Promise]] animation, [[JavaScriptBoolean|Boolean]] jumpedToEnd )</code>‎، تُستدعى عند اكتمال حركة العنصر (قبول كائن <code>[[JavaScript/Promise|Promise]]</code> الخاص بها). (أُضيفت مع الإصدار: [http://api.jquery.com/category/version/1.8 1.8]).
 
=====<code>fail</code>=====
===== <code>fail</code> =====
دالة على الشكل <code>[[JavaScript/Function|Function]]( [[JavaScript/Promise|Promise]] animation, [[JavaScriptBoolean|Boolean]] jumpedToEnd )</code>، تُستدعى عند فشل إكمال حركة العنصر (رفض الكائن <code>[[JavaScript/Promise|Promise]]</code> الخاص بها). (أُضيفت مع الإصدار: [http://api.jquery.com/category/version/1.8 1.8]).
دالة على الشكل <code>[[JavaScript/Function|Function]]( [[JavaScript/Promise|Promise]] animation, [[JavaScriptBoolean|Boolean]] jumpedToEnd )</code>، تُستدعى عند فشل إكمال حركة العنصر (رفض الكائن <code>[[JavaScript/Promise|Promise]]</code> الخاص بها). (أُضيفت مع الإصدار: [http://api.jquery.com/category/version/1.8 1.8]).
 
=====<code>always</code>=====
===== <code>always</code> =====
دالة على الشكل <code>[[JavaScript/Function|Function]]( [[JavaScript/Promise|Promise]] animation, [[JavaScriptBoolean|Boolean]] jumpedToEnd )</code>، تُستدعى عند اكتمال حركة عنصر أو توقفها دون إتمامها (إما أن يكون كائن <code>[[JavaScript/Promise|Promise]]</code> قد قُبِل أو رُفِض). (أُضيف مع الإصدار: [http://api.jquery.com/category/version/1.8 1.8] ).
دالة على الشكل <code>[[JavaScript/Function|Function]]( [[JavaScript/Promise|Promise]] animation, [[JavaScriptBoolean|Boolean]] jumpedToEnd )</code>، تُستدعى عند اكتمال حركة عنصر أو توقفها دون إتمامها (إما أن يكون كائن <code>[[JavaScript/Promise|Promise]]</code> قد قُبِل أو رُفِض). (أُضيف مع الإصدار: [http://api.jquery.com/category/version/1.8 1.8] ).
 
===<code>‎.fadeOut( [duration ] [, easing ] [, complete ] )‎</code>===
=== <code>‎.fadeIn( [duration ] [, easing ] [, complete ] )‎</code> ===
أُضيف مع الإصدار: [http://api.jquery.com/category/version/1.4.3 1.4.3].
أُضيف مع الإصدار: [http://api.jquery.com/category/version/1.4.3 1.4.3].
 
====<code>duration</code> (القيمة الافتراضية: <code>400)</code>====
==== <code>duration</code> (القيمة الافتراضية: <code>400)</code> ====
مدة الحركة وهو من النوع عدد [[JavaScript/Number|Number]] أو سلسلة نصية [[JavaScript/String|String]].
مدة الحركة وهو من النوع عدد [[JavaScript/Number|Number]] أو سلسلة نصية [[JavaScript/String|String]].
 
====<code>easing</code> (القيمة الافتراضية: <code>swing</code>)====
==== <code>easing</code> (القيمة الافتراضية: <code>swing</code>) ====
سلسلة نصية من النوع [[JavaScript/String|String]]، تُشير إلى دالة التخفيف المستخدمة في عملية التحوّل.
سلسلة نصية من النوع [[JavaScript/String|String]]، تُشير إلى دالة التخفيف المستخدمة في عملية التحوّل.
====<code>complete</code>====
دالة على الشكل <code>[[JavaScript/Function|Function]]()‎</code>،  تُستدعى بمجرد اكتمال الحركة، وتُستدعى مرة واحدة لكل عنصر مطابق.


==== <code>complete</code> ====
يُحرك التابع <code>‎.fadeOut()‎</code> عتامة العناصر المُطابقة. وبمجرد وصول العتامة إلى 0، تُضبط خاصية نمط <code>display</code> إلى <code>none</code>، بحيث لا يبقى تأثير للعنصر على تخطيط الصفحة.
دالة على الشكل <code>[[JavaScript/Function|Function]]()‎</code>، دالة تُستدعى بمجرد اكتمال حركة التحويل إلى الإعتام، وتُستدعى مرة واحدة لكل عنصر مطابق.
 
يُحرك التابع ‎.<code>fadeIn()‎</code> عتامة العناصر المُطابقة. وهو يشبه التابع <code>‎.[[jQuery/fadeTo|fadeTo()‎]]</code> ولكن هذا التابع لا يُظهِر العنصر ويمكنه تحديد مستوى التعتيم النهائي.


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


يمكننا تحريك أي عنصر، مثل صورة بسيطة:
يمكننا تحريك أي عنصر، مثل صورة بسيطة:<syntaxhighlight lang="html">
 
  الشكل 1 - توضيح تأثير <code>fadeIn()‎</code><syntaxhighlight lang="html">
<div id="clickme">
<div id="clickme">
   Click here
   Click here
</div>
</div>
<img id="book" src="book.png" alt="" width="100" height="123">
<img id="book" src="book.png" alt="" width="100" height="123">
</syntaxhighlight>مع إظهار العنصر في البداية، يمكننا إخفاؤه ببطء:<syntaxhighlight lang="jquery">
// مع إخفاء العنصر في البداية، يمكننا عرضه ببطء
$( "#clickme" ).click(function() {
$( "#clickme" ).click(function() {
   $( "#book" ).fadeIn( "slow", function() {
   $( "#book" ).fadeOut( "slow", function() {
     // Animation complete
     // Animation complete.
   });
   });
});
});
</syntaxhighlight>
</syntaxhighlight>الشكل 1 - توضيح تأثير <code>fadeOut()‎</code>


=== التخفيف ===
ملاحظة: لتجنب معالجة DOM غير الضرورية، لن يُخفي التابع ‎<code>.‎fadeOut()</code>‎‎ أي عنصر مُعَد مخفيًا بالفعل. للحصول على معلومات حول العناصر التي تعدَّها jQuery مخفية، راجع [[jQuery/hidden selector|المحدد ‎<code>:hidden</code>]].
===التخفيف===
اعتبارًا من الإصدار jQuery [http://api.jquery.com/category/version/1.4.3 1.4.3]، يمكن استخدام سلسلة اختيارية تسمى دالة التخفيف. تحدد دوال التخفيف السرعة التي يتقدم بها التحريك في نقاط مختلفة داخل الحركة. تُعد تطبيقات التخفيف الوحيدة في مكتبة jQuery هي التطبيقات الافتراضية، وتُدعى <code>swing</code>، والتطبيق الذي يتقدم بوتيرة ثابتة ويُدعى <code>linear</code>. وتتوفر المزيد من دوال التخفيف مع استخدام المُلحقات، وعلى الأخص [https://jqueryui.com/ طاقم jQuery UI] .
اعتبارًا من الإصدار jQuery [http://api.jquery.com/category/version/1.4.3 1.4.3]، يمكن استخدام سلسلة اختيارية تسمى دالة التخفيف. تحدد دوال التخفيف السرعة التي يتقدم بها التحريك في نقاط مختلفة داخل الحركة. تُعد تطبيقات التخفيف الوحيدة في مكتبة jQuery هي التطبيقات الافتراضية، وتُدعى <code>swing</code>، والتطبيق الذي يتقدم بوتيرة ثابتة ويُدعى <code>linear</code>. وتتوفر المزيد من دوال التخفيف مع استخدام المُلحقات، وعلى الأخص [https://jqueryui.com/ طاقم jQuery UI] .
 
===دوال رد النداء===
=== دوال رد النداء ===
تنطلق دوال رد النداء، إذا توفرت، بمجرد اكتمال الحركة. ويمكن أن يكون هذا مفيدًا لإدراج حركات مختلفة معا في تسلسل. لا يُرسل لدوال رد النداء أي وسائط، ولكن يُضبط الكائن <code>this</code> إلى عنصر DOM الذي يجري تحريكه. في حالة تحريك عناصر متعددة، من المهم ملاحظة أن دالة رد نداء تُنفذ مرة واحدة لكل عنصر مُطابق، وليس مرة واحدة للحركة ككل.
تنطلق دوال رد النداء، إذا توفرت، بمجرد اكتمال الحركة. ويمكن أن يكون هذا مفيدًا لإدراج حركات مختلفة معا في تسلسل. لا يُرسل لدوال رد النداء أي وسائط، ولكن يُضبط الكائن <code>this</code> إلى عنصر DOM الذي يجري تحريكه. في حالة تحريك عناصر متعددة، من المهم ملاحظة أن دالة رد نداء تُنفذ مرة واحدة لكل عنصر مُطابق، وليس مرة واحدة للحركة ككل.


اعتبارًا من الإصدار jQuery [http://api.jquery.com/category/version/1.6 1.6]، يمكن استخدام التابع <code>[[jQuery/promise|‎.promise()]]</code>‎ بالتزامن مع التابع [[jQuery/deferred/done|deferred.done()‎]] لتنفيذ دالة رد نداء واحدة للحركة ككل عند اكتمال حركة جميع العناصر المطابقة (راجع أمثلة التابع ‎<code>[[jQuery/promise|‎.promise()]]</code>).
اعتبارًا من الإصدار jQuery [http://api.jquery.com/category/version/1.6 1.6]، يمكن استخدام التابع <code>[[JQuery/promise|‎.promise()]]</code>‎ بالتزامن مع التابع [[JQuery/deferred/done|deferred.done()‎]] لتنفيذ دالة رد نداء واحدة للحركة ككل عند اكتمال حركة جميع العناصر المطابقة (راجع أمثلة التابع ‎<code>[[JQuery/promise|‎.promise()]]</code>).
 
===ملاحظات إضافية===
=== ملاحظات إضافية ===
يمكن إيقاف تشغيل كافة تأثيرات jQuery، بما في ذلك <code>‎.fadeOut()</code>‎، بشكل عام عن طريق ضبط <code>jQuery.fx.off = true</code>، والذي يضبط فعليًا المدة إلى 0. لمزيد من المعلومات، راجع [[JQuery/jQuery.fx.off|jQuery.fx.off]] .
يمكن إيقاف تشغيل كافة تأثيرات jQuery، بما في ذلك <code>‎.fadeIn()</code>‎، بشكل عام عن طريق ضبط <code>jQuery.fx.off = true</code>، والذي يضبط فعليًاالمدة إلى 0. لمزيد من المعلومات، راجع [[jQuery/jQuery.fx.off|jQuery.fx.off]] .
===أمثلة===
 
تحريك جميع الفقرات لتتلاشى، واستكمال مكملاً الحركة خلال 600 مللي ثانية.<syntaxhighlight lang="html">
=== أمثلة ===
<!doctype html>
تحريك <nowiki><div> المخفية كي تتلاشى واحد تلو الآخر، مكملاً كل حركة خلال 600 مللي الثانية.</nowiki><syntaxhighlight lang="html">
<html lang="en">
<head>
  <meta charset="utf-8">
  <title>fadeOut demo</title>
  <style>
  p {
    font-size: 150%;
    cursor: pointer;
  }
  </style>
  <script src="https://code.jquery.com/jquery-1.10.2.js"></script>
</head>
<body>
<p>
  If you click on this paragraph
  you'll see it just fade away.
</p>
<script>
$( "p" ).click(function() {
  $( "p" ).fadeOut( "slow" );
});
</script>
</body>
</html>
</syntaxhighlight>إخفاء <code>[[HTML/span|<nowiki><span></nowiki>]]</code> في أحد الأقسام التي تنقر عليها.<syntaxhighlight lang="html">
<!doctype html>
<!doctype html>
<html lang="en">
<html lang="en">
<head>
<head>
   <meta charset="utf-8">
   <meta charset="utf-8">
   <title>fadeIn demo</title>
   <title>fadeOut demo</title>
   <style>
   <style>
   span {
   span {
    color: red;
     cursor: pointer;
     cursor: pointer;
  }
  span.hilite {
    background: yellow;
   }
   }
   div {
   div {
    margin: 3px;
     display: inline;
    width: 80px;
     color: red;
     display: none;
    height: 80px;
    float: left;
  }
  #one {
    background: #f00;
  }
  #two {
    background: #0f0;
  }
  #three {
     background: #00f;
   }
   }
   </style>
   </style>
سطر 132: سطر 124:
<body>
<body>
   
   
<span>Click here...</span>
<h3>Find the modifiers - <div></div></h3>
<div id="one"></div>
<p>
<div id="two"></div>
  If you <span>really</span> want to go outside
<div id="three"></div>
  <span>in the cold</span> then make sure to wear
  your <span>warm</span> jacket given to you by
  your <span>favorite</span> teacher.
</p>
   
   
<script>
<script>
$( document.body ).click(function() {
$( "span" ).click(function() {
   $( "div:hidden:first" ).fadeIn( "slow" );
   $( this ).fadeOut( 1000, function() {
    $( "div" ).text( "'" + $( this ).text() + "' has faded!" );
    $( this ).remove();
  });
});
$( "span" ).hover(function() {
  $( this ).addClass( "hilite" );
}, function() {
  $( this ).removeClass( "hilite" );
});
});
</script>
</script>
سطر 145: سطر 148:
</body>
</body>
</html>
</html>
</syntaxhighlight>تلاشى كتلة حمراء فوق النص. بمجرد الانتهاء من الحركة، يتلاشى نص آخر بسرعة أكبر فوقها.<syntaxhighlight lang="html">
</syntaxhighlight>إخفاء إثنان من <code>[[HTML/div|<nowiki><div></nowiki>]]</code>، أحدهما مع تخفيف خطي "<code>linear</code>" والآخر مع تخفيف المتقلب الافتراضي "<code>swing</code>".<syntaxhighlight lang="html">
<!doctype html>
<!doctype html>
<html lang="en">
<html lang="en">
<head>
<head>
   <meta charset="utf-8">
   <meta charset="utf-8">
   <title>fadeIn demo</title>
   <title>fadeOut demo</title>
   <style>
   <style>
   p {
   .box,
     position: relative;
  button {
    width: 400px;
     float: left;
     height: 90px;
     margin: 5px 10px 5px 0;
   }
   }
   div {
   .box {
     position: absolute;
     height: 80px;
     width: 400px;
     width: 80px;
    height: 65px;
     background: #090;
    font-size: 36px;
    text-align: center;
    color: yellow;
     background: red;
    padding-top: 25px;
    top: 0;
    left: 0;
    display: none;
   }
   }
   span {
   #log {
     display: none;
     clear: left;
   }
   }
   </style>
   </style>
سطر 178: سطر 173:
<body>
<body>
   
   
<p>
<button id="btn1">fade out</button>
  Let it be known that the party of the first part
<button id="btn2">show</button>
  and the party of the second part are henceforth
  and hereto directed to assess the allegations
<div id="log"></div>
  for factual correctness... (<a href="#">click!</a>)
  <div><span>CENSORED!</span></div>
<div id="box1" class="box">linear</div>
</p>
<div id="box2" class="box">swing</div>
   
   
<script>
<script>
$( "a" ).click(function() {
$( "#btn1" ).click(function() {
   $( "div" ).fadeIn( 3000, function() {
   function complete() {
    $( "span" ).fadeIn( 100 );
    $( "<div>" ).text( this.id ).appendTo( "#log" );
   });
  }
   return false;
  $( "#box1" ).fadeOut( 1600, "linear", complete );
   $( "#box2" ).fadeOut( 1600, complete );
});
$( "#btn2" ).click(function() {
  $( "div" ).show();
   $( "#log" ).empty();
});
});
</script>
</script>
سطر 198: سطر 199:
</html>
</html>
</syntaxhighlight>
</syntaxhighlight>
 
=مصادر=
= مصادر =
* <span> </span>[http://api.jquery.com/fadeIn/http://api.jquery.com/fadeOut/ صفحة المحدد ‎‎‎.fadeOut()‎‎‎‎‎‎‎‎ في توثيق jQuery الرسمي].
* [http://api.jquery.com/fadeIn/ صفحة المحدد ‎‎‎.fadeIn()‎‎‎‎‎‎‎‎ في توثيق jQuery الرسمي].
[[تصنيف:jQuery]]
[[تصنيف:jQuery]]
[[تصنيف:jQuery Method]]
[[تصنيف:jQuery Method]]
[[تصنيف:jQuery Effects]]
[[تصنيف:jQuery Effects]]

مراجعة 23:59، 21 مايو 2018

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

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

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

الوصف

يُخفي هذا التابع العناصر المطابقة عن طريق تحويلها إلى شفافة تدريجيًا.

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

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

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

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

complete

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

‎.fadeOut( 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 ).

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

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

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

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

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

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

complete

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

يُحرك التابع ‎.fadeOut()‎ عتامة العناصر المُطابقة. وبمجرد وصول العتامة إلى 0، تُضبط خاصية نمط display إلى none، بحيث لا يبقى تأثير للعنصر على تخطيط الصفحة.

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

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

<div id="clickme">
  Click here
</div>
<img id="book" src="book.png" alt="" width="100" height="123">

مع إظهار العنصر في البداية، يمكننا إخفاؤه ببطء:

$( "#clickme" ).click(function() {
  $( "#book" ).fadeOut( "slow", function() {
    // Animation complete.
  });
});

الشكل 1 - توضيح تأثير fadeOut()‎

ملاحظة: لتجنب معالجة DOM غير الضرورية، لن يُخفي التابع ‎.‎fadeOut()‎‎ أي عنصر مُعَد مخفيًا بالفعل. للحصول على معلومات حول العناصر التي تعدَّها jQuery مخفية، راجع المحدد ‎:hidden.

التخفيف

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

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

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

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

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

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

أمثلة

تحريك جميع الفقرات لتتلاشى، واستكمال مكملاً الحركة خلال 600 مللي ثانية.

<!doctype html>
<html lang="en">
<head>
  <meta charset="utf-8">
  <title>fadeOut demo</title>
  <style>
  p {
    font-size: 150%;
    cursor: pointer;
  }
  </style>
  <script src="https://code.jquery.com/jquery-1.10.2.js"></script>
</head>
<body>
 
<p>
  If you click on this paragraph
  you'll see it just fade away.
</p>
 
<script>
$( "p" ).click(function() {
  $( "p" ).fadeOut( "slow" );
});
</script>
 
</body>
</html>

إخفاء <span> في أحد الأقسام التي تنقر عليها.

<!doctype html>
<html lang="en">
<head>
  <meta charset="utf-8">
  <title>fadeOut demo</title>
  <style>
  span {
    cursor: pointer;
  }
  span.hilite {
    background: yellow;
  }
  div {
    display: inline;
    color: red;
  }
  </style>
  <script src="https://code.jquery.com/jquery-1.10.2.js"></script>
</head>
<body>
 
<h3>Find the modifiers - <div></div></h3>
<p>
  If you <span>really</span> want to go outside
  <span>in the cold</span> then make sure to wear
  your <span>warm</span> jacket given to you by
  your <span>favorite</span> teacher.
</p>
 
<script>
$( "span" ).click(function() {
  $( this ).fadeOut( 1000, function() {
    $( "div" ).text( "'" + $( this ).text() + "' has faded!" );
    $( this ).remove();
  });
});
$( "span" ).hover(function() {
  $( this ).addClass( "hilite" );
}, function() {
  $( this ).removeClass( "hilite" );
});
</script>
 
</body>
</html>

إخفاء إثنان من <div>، أحدهما مع تخفيف خطي "linear" والآخر مع تخفيف المتقلب الافتراضي "swing".

<!doctype html>
<html lang="en">
<head>
  <meta charset="utf-8">
  <title>fadeOut demo</title>
  <style>
  .box,
  button {
    float: left;
    margin: 5px 10px 5px 0;
  }
  .box {
    height: 80px;
    width: 80px;
    background: #090;
  }
  #log {
    clear: left;
  }
  </style>
  <script src="https://code.jquery.com/jquery-1.10.2.js"></script>
</head>
<body>
 
<button id="btn1">fade out</button>
<button id="btn2">show</button>
 
<div id="log"></div>
 
<div id="box1" class="box">linear</div>
<div id="box2" class="box">swing</div>
 
<script>
$( "#btn1" ).click(function() {
  function complete() {
    $( "<div>" ).text( this.id ).appendTo( "#log" );
  }
  $( "#box1" ).fadeOut( 1600, "linear", complete );
  $( "#box2" ).fadeOut( 1600, complete );
});
 
$( "#btn2" ).click(function() {
  $( "div" ).show();
  $( "#log" ).empty();
});
</script>
 
</body>
</html>

مصادر