التصنيفات
JavaScript دورات تدريبية (كورسات)

دورة جافا سكريبت .. مفجأة

سبق وحاضرت في دورة جافا سكريبت وكانت تجربة جيدة بالنسبة لي رغم أن الدورة كانت بدائية إلى حدٍ ما بسبب قدراتي المتواضعة في هذه اللغة، ولكن هذه المرة الدورة مختلفة فهي اهداء اولاً لكل من يحصل على 80% من دورة الـ PHP الجديدة بالإضافة لأمتيازات اخرى لكل من حضر معي دورات من قبل.

بالتاكيد التسجيل سيكون متاح لكل من يحب ولكن هناك امتيازات لطلاب دورة الـ PHP التي ستقام قريباً بخصم 100% من تكلفة الدورة، وكذلك خصم 25% لكل من تدرب او حضر دوراتي من قبل.

الدورة هي دورة jQuery في الأصل ولكن على المتدرب التعرف على أساسيات الجافا سكريبت اولاً بالتاكيد لكي يدرك ماذا تفعل ال jQuery، واتوقع ان تكون في حدود 10 ساعات فقط ومقسمين على 3 او 4 محاضرات وهذا حسب المنهج، وستكون فور انتهاء دورة ال PHP القادمة بإذن الله.

أبدأ بوضع المنهج الذي درسته في دورة الجافا سكريبت الوحيدة التي أقمتها من اقل من عام ويمكنك الأطلاع عليها من هنا، واتمنى مشاركتك بأقتراحاتك لهذه الدورة او ملاحظاتك على المنهج المقترح.

التصنيفات
JavaScript

jQuery 1.3

فرق سرعة كبير بينها وبين 1.2.6، ويمكنك ملاحظته في بمجرد أستخدام بعض الأكواد التي تثقل المتصفح وستلاحظ سرعتها بأستخدامك 1.3

هناك حدثين رائعين جدد تم أضافتهم وهما live و die

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

يعني أيه !!
يعني أنت عادتاً بتكتب كودك هنا

$(document).ready(function ($) { // هنا الكود });

وبالتالي أنت بتقولو لما تنتهي من تحميل عرض كل عناصر الصفحة أبدأ بتنفيز الكود هذا، فإذا كان هناك كود يقوم بتوليد عناصر جديدة بالصفحة مثل هذا

$(document).ready(function ($) { $("label:last input").keypress(function () { // لو أخر عنصر في هذه الحقول مكتوب فيه if ($("label:last input").val().length > 0) { // يقوم بتكوين حقل جديد فاضي بعدهم $("label:last input").after("<input />"); } }); });

وهو لو في مجموعة حقول وتريد إذا قام الزائر بالكتابة بهم ووصل لأخرهم وكتب به أن يقوم المتصفح بتكوين حقل جديد ليكتب به وكذلك كلما قام بملئ أخر حقل فيقوم بتكوين حقل جديد

المشكلة الان أن الحقل الجديد لن يأخذ الصفات المسجلة لغيره بأنه عند الكتابة به يقوم بمراجعة أخر حقل ولو مش خالي يتم تكوين حقل جديد، لان هذا الكود تم تنفيذه في $(document).ready وهو تكون بعدها !!، وهذا هو الكود الجديد بواسطة live

$(document).ready(function ($) { $("label:last input").live("keypress", function () { // لو أخر عنصر في هذه الحقول متوب فيه if ($("label:last input").val().length > 0) { // يقوم بتكوين حقل جديد فاضي بعدهم $("label:last input").after("<input />"); } }); });

وهذه خاصية رائعة، كذلك هناك die وهي تقوم بالغاء حدث من كائن “removes a bound live event”

راجع live وأيضاً die

التصنيفات
JavaScript

دورة جافا سكريبت

بسم الله في أنشغالي وضغطتي قبل السفر أعطيت دورة جافا سكريبت أتكونت من حوالي 8 ساعات أو أكثر على يومين (يفضل أن لا تقل عن 15 ساعة).

الدورة لبعض موظفي مكتب شركة web.com.sa بالقاهرة،كانو 3 موظفين أحدهم مصمم (عند دراية كافية ببعض المفاهيم البرمجية وقدر ليس بالقليل من الكود) و 2 مبرمجين PHP.

وكان الهدف من الدورة هو الأطلاع على كيفية أستخدام jQuery للتعامل مع الـ Ajax والتأثيرات.

طبعاً كان من الطبيعي بعد المقدمة بالحديث عن ال Browser Engines الموجودة مثل Gecko, WebKit أن نتحدث عن عدم قياسية الجافا سكريبت و سعي مؤسسة ecma للأنتهاء من تطوير معايرها -التي من الواضح انها لن تنتهي منها- وكانت البداية من أول أساسيات الـ JavaScript ومن أول المتغيرات مروراً بالمصفوفات والدوال إلى أن أطلعنا على يعض ملامج الكائنات وبالأطلاع على بعض الكائنات مثل screen, document, window ….. etc وطبعاً بالتطبيق على بعض العمليات والأحداث Events .

أما بالنسبة للـ jQuery فكان من الطبيعي الحديث عن فائدة أستخدام مكتبة مساعدة في الأصل أشارة إلى أهم المكتبات الموجودة بداية YUI و Prototype إلى MooTools ثم البدئ في jQuery حيث أنها الأذكى والأقل كود بين هؤلاء.

يمكنك الأطلاع على فهرس الدورة هذه لعلها تفيدك لتكوين دورة مختصرة فيما بعد.

التصنيفات
JavaScript

الأحداث في الجافا سكريبت events

السلام عليكم

بعد ساعتين تقريباً من كتابة أكواد JavaScript والأندماج مع الأحداث event – إن صحة التسمية – فأحببت تسجيل بعض منهم.

المقصود بحدث : مثلاً onClick أو ondblclick أو ….

الفائدة من الأحداث : هي تعبر أساس أجراء عمليات الـJavaScript فمثلاً لو أحببنا نظهر رسالة "مرحباً بك أيها الزائر" فسنسنتخدم الدالة alert وهي دالة لها مدخل واحد وهو الرسالة؛.

التصنيفات
JavaScript

ما هي WYSIWYG

ما هي هذه الأداة

هي أداة عادة ما تكون مبرمجة بالـJava Script أو بالـActivex و أحياناً تستخدم DHTML معهم ولكل منهم مميزات وعيوب سنتطرق لها في باقي المحاضرة بإذن الله, ووظيفتها أن تسهل على المستخدم عملية التنسيق على المقال أو النص المدخل.

ما فائدتها

ببساطة جداً عندما تقوم بكتابة البريد الإلكتروني من موقع Yahoo مثلاً أو Hotmail ستجد أنه من السهل جداً عملية التنسيق للرسالة التي تقوم بكتابتها فمثلاً إذا قمت بعمل توسيط للكلمة فتجد أن التوسيط قد تم تنفيزه أمامك بالفعل وهذا على العكس من برامج البريد المرفقة مع الـCpanel أو مثلاً الكتابة بالمنتديات فهي تستخدم ما يسمى بـBBCODE .

وللتقريب أكثر فعند استخدامك لبرنامج MS FrontPage فستجد أنك عند تنسيقك للصفحة بأي حال يقوم هو بتحويلها إلى كود HTML وهذه هي وظيفة هذه التقنية وهو تحويل ما تراه إلى كود HTML وهذا يسهل ويجمل طريقة الإضافة والعرض ولهذا كانت هي اختصار لـ What You See Is What You Get .

مميزاتها

سهولة عرض البيانات المدخلة : البيانات أو المقالات المدخلة ستكون سهلة المعالجة عند عرضها حيث أنها تكون HTML وبالتالي لا تحتاج لأي معالجة من دالة nl2br أو غيرها.

عدم معالجة البيانات عند إدخالها : البيانات المدخلة تكون HTML فبالتالي لن تستخدم دالة تمنع أكواد الـHTML وهذه الأشياء وهذا يعتبر عيب أكثر من انها ميزة.

عيوبها

Activex : تحتاج للموافقة على تركيب أداة معينة لدعم المتصفح لهذه الخاصية وبالتالي يخاف الكثير من هذه الأداة بالأضافة أنها لا تعمل على الكثير من المتصفحات ولعلها لا تعمل إلا على IE و أعوانه 😀 .

Java Script : كلنا نعلم أن من ضمن أهم عيوب الـJava Script هي أنه عند كثرة استخدامها يصبح المتصفح داهية على الجهاز و يحمل كثير جداً مما يصل إلى توقف الجهاز في بعض الأحيان ولهذا ينصح عدم استخدام كل امكانيات هذه الأداة مما تم برمجته من خلال الـJava Script .

– مقدمة المقال : من الصعب عرض جزئية من المقال كمقدمة وهذا لأنك إذا قمت بتحديد 255 حرف لعرضهم كمقدمة للمقال وهذا عن طريق دالة substr مثلاً فبالتالي سيقوم باحتساب تاجات الـHTML معها على أنها من ضمن الـ255 حرف التى طلبتهم ولهذا يجب اولاً تفريغ التاجات ثم التقطيع ثم أرجاع التاجات مرة أخرى أو هناك حل أخر تقسيم المقال في مصفوفة explode بدلالة التاجات وعرض عدد معين من عناصر هذه المصفوفة.