كيفية الحصول على أكثر من جافا سكريبت Svg

نشرت: 2023-01-28

ليس من غير المألوف أن يرغب مطورو الويب في تضمين أكثر من Scalable Vector Graphics (SVG) على صفحات الويب الخاصة بهم. في حين أن هناك عدة طرق مختلفة لإنجاز ذلك ، فإن إحدى الطرق هي استخدام JavaScript لتضمين شفرة SVG مباشرة في HTML. يمكن القيام بذلك باستخدام ملف

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

إذا أردنا ملء مثلث بوجوه مبتسمة ، تخيل أن لدينا 30 منهم. تمكّنك سمة ransform من معالجة الأشكال بعدة طرق باستخدام SVG. للتعبير عن جميع التحويلات الأخرى في مصفوفة ، بالإضافة إلى تكوين التحويلات الأخرى باستخدام مصفوفة ، يكون تحويل المصفوفة هو الأكثر عمومية على الإطلاق. يتشابه القص والإخفاء من حيث أنهما يؤديان نفس وظيفة القص ، ولكن قد يظهر التقنيع محجوبًا جزئيًا بواسطة الخلفية. يتيح لك نمط CSS تصميم عناصر SVG بنفس طريقة عناصر HTML. إنشاء صفحة CSS لا يفصل فقط شكل وأسلوب CSS عن ملف SVG ، ولكنه يفصل أيضًا صفحة CSS عن صفحة HTML. عند استخدام أدوات استماع الأحداث ، يمكن إضافتها مباشرة إلى عناصر SVG.

عند تحريك الماوس فوق الدائرة في المثال التالي ، يتغير لون التعبئة من الفضي إلى الأصفر. تنسيق SVG هو تنسيق رسومات ناضج ومعقد. إنه تنسيق متجه أسهل في الاستخدام من JPEG و PNG ، وكلاهما تنسيق نقطي. من الأفضل استخدام أدوات الرسم المناسبة للقيام بأكبر قدر ممكن من العمل بأكثر الطرق فعالية. لحسن الحظ ، هناك العديد من الأدوات التي تدعم تنسيقات إخراج SVG. يمكنك رؤية ما مر به المستخدم في الوقت الفعلي باستخدام SessionStack ، والذي يسمح لك بإعادة تشغيل جلسات المستخدم كمقاطع فيديو. تُظهر الميزات المذهلة بصريًا لهذا التطبيق ما يحدث عندما يتفاعلون مع رسوماتك ، وكيف يواجهونها ، ويتعرفون بسرعة على أي مشكلات. إذا كنت ترغب في تجربة SessionStack ، فيمكنك القيام بذلك مجانًا لفترة محدودة.

دمج اثنين من جافا سكريبت Svg

دمج اثنين من جافا سكريبت Svg
مصدر الصورة: https://imgur.com

توجد عدة طرق لدمج جهازي جافا سكريبت svg ، ولكن أسهل طريقة هي استخدام مكتبة مثل D3.js. باستخدام D3 ، يمكنك ببساطة تحديد العنصرين اللذين تريد دمجهما واستخدام وظيفة .merge ().

متعددة Svg في ملف واحد

متعددة Svg في ملف واحد
مصدر الصورة: https://boardbattendesign.com

من الممكن أن يكون لديك عدة SVGs في ملف واحد ، لكن لا يوصى بذلك. يجب أن يكون كل SVG ملفًا خاصًا به للحصول على أفضل تنظيم وأداء.

في CodePen ، كل التعليمات البرمجية التي تظهر في محرر HTML هي التعليمات البرمجية التي تظهر داخل قالب HTML5 أساسي. إذا كنت تريد تضمين الفئات التي لها تأثير مباشر على المستند بأكمله ، فهذا هو المكان المناسب للذهاب إليه. كثيرًا ما يتم تطبيق موردي الممتلكات والقيمة بادئات المورد على الخصائص والقيم التي يجب تنفيذها. يمكنك الاتصال بقلمك من أي مكان وفي أي مكان على الإنترنت واستخدام برنامج نصي من هناك. بعد ذلك ، ضع عنوان URL في حقل URL هنا وستتم إضافته قبل JavaScript في القلم. إذا تم تغيير امتداد الملف للبرنامج النصي الذي قمت بربطه ، فسنحاول معالجته قبل التقديم.

مضمنة Svg جافا سكريبت

مضمنة Svg جافا سكريبت
مصدر الصورة: https://imgur.com

إن Inline SVG هي لغة ترميز XML تسمح بعرض الرسومات المتجهة مباشرة داخل مستند HTML. يتيح ذلك للمطورين إنشاء صفحات ويب تحتوي على رسومات متجهة تفاعلية ، دون الحاجة إلى مكون إضافي أو تطبيق منفصل. يتيح SVG المضمن أيضًا للمطورين تصميم رسومات متجهة باستخدام CSS ، وتحريكها باستخدام JavaScript.

يمكن تنفيذ وظائف جافا سكريبت باستخدام SVGs المضمنة . قررت أن النهج الذي اقترحته لن ينجح ، لذلك اتبعت الخطوات أدناه. املأ كتلة Javascript بوظيفتك ، وحدد حدث onclick ، ​​وأضف كتلة Javascript. ضع $ action في الوظيفة لجعل الإجراء معلقًا مسبقًا. باتباع التوصيات التي قدمتها في مقالتي السابقة ، قمت بإنشاء PoC أسفل الخطوات واختبرته على الفور. عند النقر فوق العنصر ، سأستخدم إجراء العميل Handler_OnSVGClick ، ​​والذي يحتوي على رسالة فقط. Jo * o لديه حل ثاقب ، وأنا أوافق على أنه رجل أكثر ذكاءً مني.

Svg المضمنة أفضل من Svg الخارجية

إذا كنت تريد إنشاء ملف svg مضمّن ، فاستخدم ملفات svg الخارجية. في معظم الحالات ، يعد SVG المضمّن هو الخيار الأفضل ، على الرغم من حقيقة أن ملفًا مضمنًا خارجيًا قد يكون مفضلاً في بعض الحالات. من الأسهل كتابة النصوص وإدارتها وتصميمها وصيانتها.

حقن Svg بجافا سكريبت

يمكن أن يتم حقن SVG باستخدام JavaScript بعدة طرق. تتمثل إحدى الطرق في استخدام ملف SVG كصورة خلفية لعنصر HTML. يمكن القيام بذلك عن طريق تعيين خاصية CSS "background-image" إلى "url (" path / to / file.svg ")". نهج آخر هو استخدام " 'tag وتعيين السمة' src 'على' path / to / file.svg '.

كما هو الحال مع HTML ، يتم تمثيل svegetation باستخدام نموذج كائن المستند (DOM). هذا يعني أنه من السهل نسبيًا التعامل معها باستخدام جافا سكريبت. في هذا القسم ، سأنتقل إلى كيفية استخدام SVGs المضمنة والخارجية . يمكن العثور على أمثلة التعليمات البرمجية في الجزء العلوي من هذه الصفحة ، والتي يمكنك الوصول إليها بالنقر فوق ارتباط Github. عند استخدام SVG خارجي ، يجب عليك تضمين نفس الرمز عند تحميل عنصر <script>. نظرًا لأن SVG لا يمكنه رؤية أي SVGs أخرى على الصفحة ، يمكن تكوينه باستخدام مستند HTML مضمن في الصفحة. عندما يتم تغليف الكود في CDATA ، يتم اعتبار كود JS كجزء من XML ، بغض النظر عن مكانه في التحليل.

إنه نفس الشيء لإنشاء وإزالة العناصر في HTML. يجب أن تمرر طريقة createElementNS للمستند ذي الصلة اسم العلامة بالإضافة إلى مساحة الاسم التي تحتوي على العناصر المراد إنشاؤها. يلزم إنشاء عقدة نصية منفصلة لإزالة العنصر الذي يجب إلحاقه بالعنصر باستخدام createTextNode. يعمل هذا لأنهم ليسوا في نفس المستند.

صور Svg في Css

تتوفر صور SVG لمجموعة متنوعة من الاستخدامات في CSS. إن أبسط طريقة لتضمين ملف SVG في صورة مضمنة هي استخدام تنسيق URI للبيانات. على سبيل المثال ، قل br. يتم نطقه على أنه عنوان url (mySVG.svg) كصورة الخلفية. يمكنك استخدام هذه الطريقة في أي متصفح حديث دون الحاجة إلى استدعاء encodeURIComponent () للحصول على القيمة المشفرة للمكون. لاستخدام SVG بدون تشفيره في CSS الخاص بك ، استخدم الخاصية ذات النمط المضمن ، [br]. انها مشبوه قليلا. Inline-svg هو الخيار الافتراضي. سيتم تنفيذه في جميع المتصفحات الحديثة دون استخدام استدعاء encodeURIComponent (). إذا كنت تريد استخدام SVG في CSS أثناء تشغيله أيضًا في المتصفحات القديمة ، فالرجاء استخدام خاصية الاختزال svg (): https: //br.shtml كما ترى ، يتم كتابة * بأحرف كبيرة. سأستخدم svg () للخلفية. ستعمل جميع المتصفحات الحديثة ، وكذلك تلك التي لا تدعم الأنماط المضمنة ، مع هذا.

كيفية استخدام Svg في Html

تتيح لك العلامة svg> * / svg> إضافة صور إلى مستند HTML مباشرة. تتمثل الخطوة التالية في فتح صورة SVG في كود VS الخاص بك أو IDE المفضل لديك ، وانسخ الكود ، والصقه في جسم> عنصر مستند HTML. إذا كان كل شيء آخر في مكانه ، فيجب أن يكون لديك صفحة ويب تشبه تمامًا العرض التوضيحي أدناه.

يعد تحديد نظام إحداثيات جديد وإطار عرض أحد عناصر SVG. Scalable Vector Graphics (SVG) هو نوع من تنسيقات الصور التي تستخدم بيانات المتجه. باستخدام SVG ، لا تحتوي صورتك على أي وحدات بكسل مميزة ، كما هو الحال مع أنواع الصور الأخرى. تُستخدم بيانات المتجه لإنشاء صور يمكن تحجيمها إلى أي دقة. لإنشاء شكل مستطيل في HTML ، استخدم عنصر> rect>. يمكن إنشاء النجمة بمساعدة علامة PNG. يمكن عمل شعار في SVG باستخدام تدرج خطي.

نظرًا لصغر حجم الملفات ، من السهل تحميل الصور على موقع الويب الخاص بك باستخدام SVGs. لا يهم منشئ رسومات SVG الدقة. نتيجة لذلك ، تتوافق هذه البرامج مع مجموعة متنوعة من الأجهزة والمتصفحات. عندما يتم تكبير التنسيقات النقطية ، مثل PNG و JPG ، فإنها تصبح رقمية. يعد SVG المضمن طريقة بسيطة لتحميل ملف صورة لا يعتمد على طلبات HTTP. إذا كان موقع الويب الخاص بك مستجيبًا ، فسوف يلاحظ المستخدمون ذلك.

Svg و Css

SVG (Scalable Vector Graphics) هو تنسيق صورة متجه مستند إلى XML للرسومات ثنائية الأبعاد مع دعم للتفاعلية والرسوم المتحركة. CSS (أوراق الأنماط المتتالية) هي لغة ورقة أنماط تُستخدم لوصف تقديم مستند مكتوب بلغة ترميزية. ورقة أنماط CSS عبارة عن مجموعة من القواعد التي تخبر متصفح الويب بكيفية عرض مستند مكتوب بلغة HTML أو XML.

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

بالنسبة للعنصر> rect> ، يمكنك أيضًا تحديد الارتفاع والعرض باستخدام CSS. يمكن تحديد شكل عنصر معين باستخدام خاصية d. بإضافة فئة زائفة نشطة ، يتحول الشكل إلى مربع ويتغير لون التعبئة عند النقر فوقه. لإضافة تأخير حركة لكل فئة شكل في CSS ، استخدم تأخير الحركة. ليس من الضروري استخدام هذه التقنيات في الإنتاج على الفور.

دمج Svg

SVG Merge هي أداة سطر أوامر تأخذ ملفات SVG متعددة وتخرج ملف SVG واحد. يحتوي ملف الإخراج على جميع الأشكال من ملفات الإدخال ، مدمجة في ملف واحد.

يتم توفير القدرة على دمج ملفات SVG متعددة في ملف واحد باستخدام SVG Merger. يمكن استخدام الأداة لتصدير ملف sva الناتج بعد الانضمام إلى صور SVG. يعمل هذا البرنامج في أي متصفح ويب ، بغض النظر عن نظام التشغيل. لا يوصى بأن يتجاوز حجم ملف SVG 10 ميغا بايت.

رسومات Svg

SVG هو تنسيق رسوم متجه للرسومات ثنائية الأبعاد مع دعم للتفاعلية والرسوم المتحركة. مواصفات SVG هي معيار مفتوح تم تطويره بواسطة World Wide Web Consortium (W3C) منذ عام 1999. يتم تعريف صور SVG وسلوكياتها في ملفات نصية XML. هذا يعني أنه يمكن البحث عنها وفهرستها وبرمجتها وضغطها. كملفات XML ، يمكن إنشاء صور SVG وتحريرها باستخدام أي محرر نصوص ، ولكن غالبًا ما يتم إنشاؤها باستخدام برامج الرسم.

Scalable Vector Graphics (SVG) هو نوع من مكتبة الرسومات ثنائية الأبعاد. ينقسم التطبيق إلى جزأين: تنسيق ملف مستند إلى XML وواجهة برمجة رسومية. يمكن تطبيق عدة أنواع من أنماط الطلاء ، بما في ذلك الأشكال والنص والرسومات النقطية المضمنة باستخدام الميزات الأساسية. لغة البرمجة النصية ، مثل ECMAScript ، بالإضافة إلى دعم الرسوم المتحركة الكامل تعمل الشركات المصنعة الرائدة لأجهزة الطباعة على تطوير إصدار من SVG مصمم خصيصًا لطباعة النسخ المطبوعة. هناك العديد من حالات الاستخدام التي تتضمن أوصاف صفحات تستند إلى XML ، على عكس Postscript و PDF. نظرًا لأن العديد من أدوات التصميم تدعم استيراد SVG وتصديره ، فيمكن استخدامه كتنسيق تبادل عبر الأنظمة الأساسية. تصف لغة SVG الرسومات ثنائية الأبعاد في XML.

يمكن تقسيم الكائنات الرسومية إلى ثلاثة أنواع: رسومات متجهة ، وصور ، ونص. يمكن تجميع الكائنات وتصميمها وتحويلها وتركيبها في سياق رسومي. يمكن للأجهزة التحكم في أشياء ومراقبتها مثل أنظمة التحكم الصناعية ذات واجهة SVG الأمامية .