• الرئيسية
  • تعرف علي
  • اتفاقية النشر
  • اتصال
  • خدمات
  • تابع خلاصات المدونة

« ترقيعات css ، الجمل الشرطية ، بالتفصيل الممل
فضلا .. لا تستعمل Framework css »
7

تحريك الخلفية باستعمال مكتبة jQuery + تطبيق على قائمة

أغسطس
8

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

مثال Demo

jQuery background
لرؤية مثال على درسنا ، اضغط هنا .

فكرة الدرس و أدواته :

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

سأحتاج في الدرس إلى مكتبة jQuery و هذا شيء عادي ، و كذلك ملف ملحق لتحريك الخلفية ، كما أنني سأصمم خلفية بسيطة متموجة أستطيع من خلالها عمل حركة أخدع بها الزائر و أعطي نوع من الجمالية على مشروعي :

سأفتح برنامج Photoshop و سأعمل المراحل التالية :
jQuery background

jQuery background

jQuery background

ساحصل على الصورة التالية و هي التي سأستعمل في تطبيقي :

jQuery background

طريقة العمل :

سأبدأ في التوزيع ، ساعمل قائمة عادية لعناوين مهمة ، و سأجعلها أفقية ، كود xhtml بسيط :

<ul id="a">
	<li><a href="#">الرئيسية</a></li>
	<li><a href="#">المدونة</a></li>
	<li><a href="#">خدمات</a></li>
	<li><a href="#">اتصل بنا</a></li>
</ul>

وهو كود خاص بقائمة ul فيها عناوين li بها روابط a ، شيء عادي جدا ، بالنسبة للـ id الذي سميته a هذا لتمييز القائمة عن غيرها لأنني استعملت أكثر من قائمة في تطبيقي ، يمكنك الاستغناء عنه أو استبداله بما يصلح لك .

كود css التابع لهذه القائمة :

ul, ul li {
	margin:0;
	padding:0;
}
ul {
	list-style:none; /*  لحذف نقط التابعة للقائمة */
}
li {
	float:right;
	width:100px;
	text-align:center;
	}
li a {
	font: 12px tahoma;
	display:block;	/* لجعل الرابط يملأ كل li */
	padding:10px 20px;
	height:100%;
	color:#000;
	text-decoration:none;
	border-right:1px solid #FFF;
	background:url(bg.jpg) repeat -20px 35px;
}

اقرأ التعليقات ..
الآن قائمتي جيدة ، و عادية جدا ، إلا أنك ستلاحظ أنني لم أضف li a:hover ، لأنني سأضيفها داخل كود js

بعد استدعائنا للمكتبة في وسم الهيد + الملف المحلق المسسول عن تحريك الخلفية ، يمكنك أن قراءته من هنا فهو بسيط إن شاء الله . نشرع في بناء كود تطبيقنا :
أولا سأحتاج لتوضيح الفكرة ، لتأثير يجب أن يطبق عند دخول المأشر على القائمة ، و عند خروجه ، وهنا سأحتاج لحدثين ، mouseover الخاص بدخول المؤشر على المكان المحدد ، mouseout عند خروج المؤشر ..

.mouseover(function(){
	$(this).stop().animate({backgroundPosition:"(-20px 94px)"}, {duration:500})
})

ما عملناه هنا ، وهو عند دخول المؤشر على منطقة الرابط ، سيتم تغيير الخلفية من المكان الافتراضي إلى المكان الجديد (-20px 94px) . ولا تنس duration في تحديد مدة الانتقال ، 500 عادية في نظري ، لو أردتها بطيئة أكثر ، يمكنك الزيادة فيها الى اي رقم يظهر لك .
نفس الشيء سأعمله عند خروج المؤشر من مكان الرابط ، إلا أنني سأغير مكان الخلفية ليتم التمويج (40px 35px)

.mouseout(function(){
	$(this).stop().animate({backgroundPosition:"(40px 35px)"}, {duration:500, })
})

الآن الحدثين جاهزين للعمل ، بقي فقط ندخلهما تحت الرابط المراد التطبيق عليه :

$(function(){
$('#a a')
	.mouseover(function(){
		$(this).stop().animate({backgroundPosition:"(-20px 94px)"}, {duration:500})
	})
	.mouseout(function(){
		$(this).stop().animate({backgroundPosition:"(40px 35px)"}, {duration:500, })
	})
});

وهكذا أكون قد طبقت تحريكا للخلفية و تم تمويه الزائر أنه هناك حركة مثل فلاشية ، و لا وجود للفلاش داخل قائمتي

ملاحظات :

  • عادة ما يكون لي في مشاريعي أكثر من قائمة ، و قد لا اريد تطبيق الحركة إلا على قائمة واحدة ، او كل قائمة لها حركتها المعينة ، لذلك يمكنني أن أجعل الخلفية الافتراضية لكل قائمة و تغييرها داخل كود js بتطبيق اوامر css داخل كود jQuery كالتالي :
    .css( {backgroundPosition: "-20px 35px"} )

    وهكذا فلن أقع في خلط ما دمت اعي ما أفعل

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

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

انشر هذا المقال
  • Digg
  • del.icio.us
  • Facebook
  • Google Bookmarks
  • Live
  • MySpace
  • TwitThis
  • Yahoo! Buzz
  • FriendFeed
  • LinkedIn
  • Ping.fm
  • StumbleUpon

هذه التدوينة نُشرت في السبت, 8 أغسطس, 2009 عند 12:05 م و مصنفة تحت تصنيف JavaScript, css , xhtml. يمكنك متابعة أي تعليقات عبر رابط RSS 2.0. يمكنك ترك تعليق, أو تعقيب من مدونتك.
الوسوم :background, css, javascript, jquery, تأثير, قائمة

    لتكون على علم بآخر المواضيع و المقالات المضافة في fez-soft blog يمكنك الاشترك في :
  • خلاصات المقالات
  • خلاصات التعليقات
  • متابعة الكاتب على twitter
  • القائمة البريدية : بمجرد أن تضع بريدك الالكتروني و تشترك ، سنصلك قائمة بآخر المواضيع المضافة في المدونة تلقائيا إلى بريدك الالكتروني .
متابعة معلومات عن المقال
« ترقيعات css ، الجمل الشرطية ، بالتفصيل الممل
فضلا .. لا تستعمل Framework css »

7 من التعليقات لـ “تحريك الخلفية باستعمال مكتبة jQuery + تطبيق على قائمة”

  1. انس قال:
    8 أغسطس 2009 عند 12:40 م

    حركة رائعه

    جاري التطبيق باذن الله

    ردرد
  2. ahmed قال:
    8 أغسطس 2009 عند 2:08 م

    حركة جدا رائعة ,,

    ارجو منك وضع المزيد من هذه الحركات :)

    ………

    ردرد
  3. محمد قال:
    8 أغسطس 2009 عند 5:48 م

    خطير أنت ^_^
    استفدت من الدرس، جزيت خيرا..

    ردرد
  4. Ossama قال:
    12 أغسطس 2009 عند 9:53 ص

    الدرس رائع جدا,
    سهل و مبدع كالعادة أخي محمد..

    عندي استفسار:
    الـ mouseover و hover لهما نفس الدور على ما أظن, و إن كان هناك اختلاف فأرجو التوضيح..

    شكرا لك..

    ردرد
  5. Fez-Soft قال:
    12 أغسطس 2009 عند 4:21 م

    اهلا بالجميع
    بالنسبة لل mouseover تستخدم في الجافا سكربت فقط ،اما hover تستخدم في css و كذلك في اوامر بعض مكتبات الـ js ،
    استعمال mouseover يخول لي استعمال ضدها و هي mouseout حيث استفيد في حدثي دخول و خروج المؤشر على عنصر معين ، و هذا غير موجود في hover وحدها

    بالتوفيق للكل

    ردرد
  6. العربي قال:
    28 أغسطس 2009 عند 9:37 م

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

    تقبل تحياتي و قد اضفت مدونتك الى قائمة المفضلة.
    سلام.

    ردرد
  7. Fez-Soft قال:
    29 أغسطس 2009 عند 1:45 ص

    شكرا عربي ، آمل أن اكون عند حسن ظنك

    ردرد

إكتب تعليقك

اضغط هنا لإلغاء الرد.

إذا أردت أن تظهر صورة بجانب اسمك في التعليق ، شارك في خدمة Gravatar .

  • Donate

    إذا أعجبتك المدونة و رأيت أنك قد استفدت منها و تريد أن تدعمني ، يمكنك أن تشتري لي أحد الكتب التي أحتاج قراءتها ، من Amazon .
  • تصنيفات

    • css , xhtml
    • JavaScript
    • Photoshop, Flash, illustrator
    • PHP
    • تطوير
    • عام
  • مواقعي

    • SetCode
    • Fez-Soft Portfolio
    • مدونة محمد شاطر
  • الأرشيف

    • يوليو 2010
    • يونيو 2010
    • أبريل 2010
    • فبراير 2010
    • يناير 2010
    • ديسمبر 2009
    • نوفمبر 2009
    • أكتوبر 2009
    • سبتمبر 2009
    • أغسطس 2009
    • يوليو 2009
    • يونيو 2009
    • مايو 2009
  • كلمات مفتاحية

    alert Application Assembler confirm css div html html4 html5 javascript jquery media opacity PHP prompt screen Top xhtml أفكار إخفاء إظهار استدعاء تأثير ترقيع تسريع تصميم تطبيق تفصيل تنسيق توافق توزيع ثلاثي أبعاد حقوق روابط زجاجي صفحات عميل فكرة قائمة قالب قواعد متفرعة مشاريع مصمم مطور
  • روابط

    • مدونة يزيد

© Fez-Soft Blog

    All right reserved , Theme By Fez-Soft , RSS posts , RSS comments .
  • تعرف علي
  • اتفاقية النشر
  • خدمات
  • اتصال
  • الرئيسية
عن Fez-Soft
mohammed chater مرحبا ، اسمي محمد شاطر ، Mohammed chater , أعرف تحت مسمى Fez-Soft, طالب و مصمم و مطور تطبيقات ، من فاس المغرب . . يمكنك أن تتعرف علي اكثر من هنا ، أو متابعة حسابي على twitter ، ستجد في هذه المدونة دروسا تطويرية للمستوى المتقدم في تصميم الويب ، و البرمجة بالـ JavaScript , يمكنك متابعتها من خلال الخلاصات ، كما يمكنك أن تراسلني من هنا ، لو دعت الضرورة لذلك ، آمل ان يكون وقتك في المدونة لك ، لا عليك .
الأكثر زيارة
  • فضلا .. لا تستعمل Framework css
  • الخطوط العربية : قواعد ، أفكار و حيل
  • SetCode خدمة جديدة تطل على عالم المطورين
  • ترقيعات css ، الجمل الشرطية ، بالتفصيل الممل
  • قائمة أفقية ، مع تحديد title بـ jQuery بطريقة فريدة
  • تطبيقات hover على عناصر text و ليس صور
آخر التعليقات
  • كمال  : السلام عليكم استفسار بسيط واعتقد انه مهم ومفيد ن...
  • صلاح الإمام  : جزاك الله كل خير ع الطرح الرائع...
  • مفيد  : رائع منذ فترة و انا ابحث عن هذه المعلومات...
  • عبدالله  : شكرا لك على جملة النصائح...
  • ندى  : شكراً لك .. ولكن مشاكل الترميز توتر الشخص !...