چگونه در حرکت نقاشی کنیم
- صفحه قبل پنجره تمامصفحه
- صفحه بعدی چرخش نرم
آموزش نحوه نقاشی در حرکت با استفاده از JavaScript و SVG.
نقاشی در حرکت
استفاده از SVG و JavaScript برای نقاشی در حرکت - توجه داشته باشید که باید <path>
عنصر: }}
مثال
<svg id="mySVG"> <path fill="none" stroke="red" stroke-width="3" id="triangle" d="M150 0 L75 200 L225 200 Z"/> </svg> <script> // دریافت عنصر <path> با شناسه "triangle" var triangle = document.getElementById("triangle"); // دریافت طول عناصر <path> var length = triangle.getTotalLength(); // مکان شروع ترسیم (تنظیم حالت خط چین. در اینجا به مقدار مسیر تنظیم شده است، که در واقع کل مسیر را به یک خط چین بزرگ تبدیل میکند.) triangle.style.strokeDasharray = length; /* تنظیم حرکت خط چین. در ابتدا به طول مسیر تنظیم میشود، یعنی کل مسیر به حرکت درآورده میشود تا کل مسیر از دیدگاه مخفی شود و مستطیل پنهان شود. با اسکرول، این حرکت تدریجی کاهش مییابد و به تدریج مستطیل نمایش داده میشود. حذف این خط کد میتواند باعث نمایش مستطیل قبل از ترسیم اسکرول شود. */ triangle.style.strokeDashoffset = length; // شناسایی رویداد اسکرول پنجره و فراخوانی تابع myFunction در زمان اسکرول window.addEventListener("scroll", myFunction); function myFunction() { // محاسبه درصد اسکرول = (ارتفاع اسکرول فعلی) / (ارتفاع کل اسکرول قابل دسترسی) var scrollpercent = (document.body.scrollTop + document.documentElement.scrollTop) / (document.documentElement.scrollHeight - document.documentElement.clientHeight); // محاسبه طول باید ترسیم شود = طول کل * درصد اسکرول var draw = length * scrollpercent; // زمانی که به بالا اسکرول میکنیم، در واقع به صورت معکوس ترسیم میشود (از کامل به ناقص)، بنابراین در اینجا از طول کل کسر شده از طول باید ترسیم شود. triangle.style.strokeDashoffset = length - draw; } </script>
صفحات مرتبط
تدریس:تدریس SVG
- صفحه قبل پنجره تمامصفحه
- صفحه بعدی چرخش نرم