JavaScript ਨਾਲ ਗਤੀਸ਼ੀਲ ਮੁੱਲਾਂ 'ਤੇ ਆਧਾਰਿਤ ਕੀਫ੍ਰੇਮ ਨੂੰ ਐਨੀਮੇਟ ਕਰਨਾ

Stroke-dashoffset

JavaScript ਦੀ ਵਰਤੋਂ ਕਰਦੇ ਹੋਏ ਕੀਫ੍ਰੇਮ ਮੁੱਲਾਂ ਦੀ ਗਣਨਾ ਅਤੇ ਐਨੀਮੇਟ ਕਿਵੇਂ ਕਰੀਏ

ਡਾਇਨਾਮਿਕ ਵੈੱਬ ਐਪਲੀਕੇਸ਼ਨਾਂ ਨੂੰ ਬਣਾਉਂਦੇ ਸਮੇਂ, CSS ਐਨੀਮੇਸ਼ਨਾਂ ਦੇ ਨਾਲ JavaScript ਦਾ ਸੰਯੋਗ ਕਰਨ ਨਾਲ ਨਿਰਵਿਘਨ, ਦ੍ਰਿਸ਼ਟੀਗਤ ਤੌਰ 'ਤੇ ਆਕਰਸ਼ਕ ਤਬਦੀਲੀਆਂ ਹੋ ਸਕਦੀਆਂ ਹਨ। ਇੱਕ ਆਮ ਚੁਣੌਤੀ ਅਸਲ-ਸਮੇਂ ਦੇ ਡੇਟਾ ਮੁੱਲਾਂ ਦੇ ਅਧਾਰ ਤੇ ਤੱਤਾਂ ਨੂੰ ਐਨੀਮੇਟ ਕਰਨਾ ਹੈ। ਇੱਕ ਵਧੀਆ ਉਦਾਹਰਨ ਕੀਫ੍ਰੇਮ ਐਨੀਮੇਸ਼ਨ ਬਣਾਉਣਾ ਹੈ ਜੋ SVG ਅਤੇ ਸਟ੍ਰੋਕ-ਡੈਸ਼ੌਫਸੈੱਟ ਦੀ ਵਰਤੋਂ ਕਰਦੇ ਹੋਏ ਇੱਕ ਪ੍ਰਗਤੀ ਪੱਟੀ ਦੀ ਮੌਜੂਦਾ ਪ੍ਰਤੀਸ਼ਤਤਾ ਨੂੰ ਦਰਸਾਉਂਦੀ ਹੈ।

ਇਹ ਤਕਨੀਕ ਵਿਸ਼ੇਸ਼ ਤੌਰ 'ਤੇ ਲਾਭਦਾਇਕ ਹੋ ਸਕਦੀ ਹੈ ਜਦੋਂ ਤੁਸੀਂ ਗਾਹਕਾਂ ਦੀ ਗਿਣਤੀ ਵਰਗੇ ਗਤੀਸ਼ੀਲ ਮੁੱਲਾਂ ਨੂੰ ਪ੍ਰਦਰਸ਼ਿਤ ਕਰ ਰਹੇ ਹੋ, ਜਿਵੇਂ ਕਿ ਇਸ ਉਦਾਹਰਨ ਵਿੱਚ ਜਿੱਥੇ ਗਾਹਕੀ ਦੀ ਗਿਣਤੀ ਅਸਲ ਸਮੇਂ ਵਿੱਚ ਅੱਪਡੇਟ ਹੁੰਦੀ ਹੈ। ਐਨੀਮੇਸ਼ਨ ਨੂੰ ਸਹਿਜੇ ਹੀ ਕੰਮ ਕਰਨ ਲਈ, ਅਸੀਂ ਇਸ ਨੰਬਰ ਨੂੰ ਪ੍ਰਤੀਸ਼ਤ ਵਿੱਚ ਬਦਲ ਸਕਦੇ ਹਾਂ ਅਤੇ ਇਸਨੂੰ ਸਿੱਧੇ CSS ਐਨੀਮੇਸ਼ਨ ਵਿੱਚ ਲਾਗੂ ਕਰ ਸਕਦੇ ਹਾਂ।

ਹਾਲਾਂਕਿ, CSS ਐਨੀਮੇਸ਼ਨਾਂ ਨਾਲ ਨਜਿੱਠਣ ਵੇਲੇ JavaScript ਉਲਝਣ ਵਾਲਾ ਹੋ ਸਕਦਾ ਹੈ, ਖਾਸ ਕਰਕੇ ਜਦੋਂ ਕੀਫ੍ਰੇਮਾਂ ਨੂੰ ਪ੍ਰਭਾਵਸ਼ਾਲੀ ਢੰਗ ਨਾਲ ਹੇਰਾਫੇਰੀ ਕਰਨ ਲਈ ਪ੍ਰਤੀਸ਼ਤ ਵਰਗੇ ਮੁੱਲਾਂ ਦੀ ਗਣਨਾ ਕਰਦੇ ਹੋਏ। ਇਸ ਸਥਿਤੀ ਵਿੱਚ, ਇਹ ਯਕੀਨੀ ਬਣਾਉਣ ਲਈ ਕਿ ਤੁਹਾਡੀਆਂ ਐਨੀਮੇਸ਼ਨਾਂ ਸਹੀ ਮੁੱਲ ਨੂੰ ਦਰਸਾਉਂਦੀਆਂ ਹਨ, ਇਹ ਯਕੀਨੀ ਬਣਾਉਣ ਲਈ JavaScript ਨਾਲ ਗਤੀਸ਼ੀਲ ਡੇਟਾ ਨੂੰ ਕਿਵੇਂ ਐਕਸਟਰੈਕਟ ਅਤੇ ਹੇਰਾਫੇਰੀ ਕਰਨਾ ਹੈ ਨੂੰ ਸਮਝਣਾ ਮਹੱਤਵਪੂਰਨ ਹੈ।

ਇਹ ਲੇਖ ਸਟ੍ਰੋਕ-ਡੈਸ਼ੌਫਸੈੱਟ ਸੰਪੱਤੀ ਦੀ ਵਰਤੋਂ ਕਰਦੇ ਹੋਏ ਸੰਖਿਆਤਮਕ ਡੇਟਾ ਨੂੰ ਹਟਾਉਣ, ਪ੍ਰਤੀਸ਼ਤਾਂ ਦੀ ਗਣਨਾ ਕਰਨ ਅਤੇ ਉਹਨਾਂ ਨੂੰ ਕੀਫ੍ਰੇਮਾਂ 'ਤੇ ਲਾਗੂ ਕਰਨ ਲਈ JavaScript ਦੀ ਵਰਤੋਂ ਕਰਨ ਲਈ ਮਾਰਗਦਰਸ਼ਨ ਕਰੇਗਾ। ਅੰਤ ਤੱਕ, ਤੁਹਾਨੂੰ ਇਸ ਗੱਲ ਦੀ ਸਪੱਸ਼ਟ ਸਮਝ ਹੋਵੇਗੀ ਕਿ ਕਿਵੇਂ JavaScript ਅਤੇ CSS ਜਵਾਬਦੇਹ ਐਨੀਮੇਸ਼ਨ ਬਣਾਉਣ ਲਈ ਇਕੱਠੇ ਕੰਮ ਕਰ ਸਕਦੇ ਹਨ।

ਹੁਕਮ ਵਰਤੋਂ ਦੀ ਉਦਾਹਰਨ
fetch() fetch() ਵਿਧੀ ਦੀ ਵਰਤੋਂ ਸਰੋਤ ਤੋਂ ਡੇਟਾ ਦੀ ਬੇਨਤੀ ਕਰਨ ਲਈ ਕੀਤੀ ਜਾਂਦੀ ਹੈ (ਉਦਾਹਰਨ ਲਈ, ਟੈਕਸਟ ਫਾਈਲ, API)। ਇਸ ਸਕ੍ਰਿਪਟ ਵਿੱਚ, ਇਸਦੀ ਵਰਤੋਂ ਪ੍ਰਗਤੀ ਪੱਟੀ ਵਿੱਚ ਪ੍ਰਕਿਰਿਆ ਲਈ ਟੈਕਸਟ ਫਾਈਲ ਤੋਂ ਗਾਹਕ ਡੇਟਾ ਪ੍ਰਾਪਤ ਕਰਨ ਲਈ ਕੀਤੀ ਜਾਂਦੀ ਹੈ।
parseInt() parseInt() ਫੰਕਸ਼ਨ ਇੱਕ ਸਟ੍ਰਿੰਗ ਨੂੰ ਇੱਕ ਪੂਰਨ ਅੰਕ ਵਿੱਚ ਬਦਲਦਾ ਹੈ। ਇੱਥੇ, ਇਹ ਮੌਜੂਦਾ ਗਾਹਕਾਂ ਦੀ ਗਿਣਤੀ ਪ੍ਰਾਪਤ ਕਰਨ ਲਈ ਸਲੈਸ਼ (ਉਦਾਹਰਨ ਲਈ, 42/50) ਤੋਂ ਪਹਿਲਾਂ ਮੁੱਲ ਨੂੰ ਉਤਾਰ ਦਿੰਦਾ ਹੈ।
split() ਸਪਲਿਟ() ਵਿਧੀ ਇੱਕ ਸਟ੍ਰਿੰਗ ਨੂੰ ਇੱਕ ਡੀਲੀਮੀਟਰ ਦੇ ਅਧਾਰ ਤੇ ਇੱਕ ਐਰੇ ਵਿੱਚ ਵੰਡਦੀ ਹੈ। ਇਸ ਸਥਿਤੀ ਵਿੱਚ, ਇਹ ਮੌਜੂਦਾ ਗਾਹਕਾਂ ਦੀ ਗਿਣਤੀ ਨੂੰ ਟੀਚੇ (42 ਤੋਂ 42/50) ਤੋਂ ਵੱਖ ਕਰਨ ਲਈ '/' ਦੀ ਵਰਤੋਂ ਕਰਦਾ ਹੈ।
strokeDashoffset strokeDashoffset ਇੱਕ SVG ਵਿਸ਼ੇਸ਼ਤਾ ਹੈ ਜੋ ਇਹ ਨਿਯੰਤਰਿਤ ਕਰਦੀ ਹੈ ਕਿ ਇੱਕ ਸਟ੍ਰੋਕ ਕਿਵੇਂ ਖਿੱਚਿਆ ਜਾਂਦਾ ਹੈ। ਸਬਸਕ੍ਰਿਪਸ਼ਨ ਪ੍ਰਤੀਸ਼ਤ ਦੇ ਆਧਾਰ 'ਤੇ SVG ਸਰਕਲ ਦੇ ਭਰਨ ਨੂੰ ਗਤੀਸ਼ੀਲ ਰੂਪ ਵਿੱਚ ਬਦਲਣ ਲਈ ਇੱਥੇ ਹੇਰਾਫੇਰੀ ਕੀਤੀ ਗਈ ਹੈ।
setTimeout() ਇਹ ਵਿਧੀ ਇੱਕ ਨਿਸ਼ਚਿਤ ਦੇਰੀ ਤੋਂ ਬਾਅਦ ਇੱਕ ਫੰਕਸ਼ਨ ਨੂੰ ਕਾਲ ਕਰਦੀ ਹੈ। ਇਹ ਇੱਥੇ ਲੇਬਲਾਂ ਨੂੰ ਘੁੰਮਾਉਣ ਲਈ ਅੰਤਰਾਲ ਸੈੱਟ ਕਰਨ ਲਈ ਵਰਤਿਆ ਜਾਂਦਾ ਹੈ, ਜਿਸ ਨਾਲ ਕੁਝ ਸਕਿੰਟਾਂ ਬਾਅਦ ਨਵੇਂ ਲੇਬਲ ਦਿਖਾਈ ਦਿੰਦੇ ਹਨ।
cloneNode() cloneNode(true) ਦੀ ਵਰਤੋਂ ਨੋਡ ਦੀ ਕਾਪੀ ਬਣਾਉਣ ਲਈ ਕੀਤੀ ਜਾਂਦੀ ਹੈ, ਇਸ ਦੇ ਬੱਚਿਆਂ ਸਮੇਤ। ਇਹ ਲੇਬਲ ਟੈਂਪਲੇਟ ਨੂੰ ਡੁਪਲੀਕੇਟ ਕਰਨ ਅਤੇ ਇਸਨੂੰ ਡਾਇਨਾਮਿਕ ਤੌਰ 'ਤੇ DOM ਵਿੱਚ ਜੋੜਨ ਲਈ ਜ਼ਰੂਰੀ ਹੈ।
visibility ਇਹ CSS ਵਿਸ਼ੇਸ਼ਤਾ ਲੇਬਲਾਂ ਨੂੰ ਲੁਕਾਉਣ ਜਾਂ ਦਿਖਾਉਣ ਲਈ JavaScript ਰਾਹੀਂ ਕੰਟਰੋਲ ਕੀਤੀ ਜਾਂਦੀ ਹੈ। ਇਹ ਸੁਨਿਸ਼ਚਿਤ ਕਰਦਾ ਹੈ ਕਿ ਰੋਟੇਸ਼ਨ ਦੇ ਦੌਰਾਨ ਇੱਕ ਸਮੇਂ ਵਿੱਚ ਸਿਰਫ ਇੱਕ ਲੇਬਲ ਦਿਖਾਈ ਦਿੰਦਾ ਹੈ।
strokeDasharray strokeDasharray ਇੱਕ SVG ਸਟ੍ਰੋਕ ਵਿੱਚ ਡੈਸ਼ਾਂ ਅਤੇ ਗੈਪਸ ਦੇ ਪੈਟਰਨ ਨੂੰ ਪਰਿਭਾਸ਼ਿਤ ਕਰਦਾ ਹੈ। ਇਹ ਸਰਕਲ ਦੇ ਘੇਰੇ ਨਾਲ ਮੇਲ ਕਰਨ ਲਈ ਇੱਕ ਖਾਸ ਮੁੱਲ (450) 'ਤੇ ਸੈੱਟ ਕੀਤਾ ਗਿਆ ਹੈ, ਜੋ ਕਿ ਸਟ੍ਰੋਕਡੈਸ਼ੌਫਸੈੱਟ ਨਾਲ ਐਨੀਮੇਟ ਕੀਤਾ ਗਿਆ ਹੈ।

JavaScript ਨਾਲ SVG ਸਰਕਲਾਂ ਨੂੰ ਐਨੀਮੇਟ ਕਰਨਾ: ਇੱਕ ਕਦਮ-ਦਰ-ਕਦਮ ਗਾਈਡ

ਇਸ ਉਦਾਹਰਨ ਵਿੱਚ, ਅਸੀਂ JavaScript ਅਤੇ CSS ਦੇ ਸੁਮੇਲ ਦੀ ਵਰਤੋਂ ਕਰਕੇ ਇੱਕ SVG ਸਰਕਲ ਲਈ ਇੱਕ ਡਾਇਨਾਮਿਕ ਐਨੀਮੇਸ਼ਨ ਬਣਾਇਆ ਹੈ। ਮੁੱਖ ਟੀਚਾ ਅਸਲ-ਸਮੇਂ ਵਿੱਚ ਗਾਹਕੀ ਦੀ ਗਿਣਤੀ ਨੂੰ ਦ੍ਰਿਸ਼ਟੀਗਤ ਰੂਪ ਵਿੱਚ ਦਰਸਾਉਣ ਲਈ ਇੱਕ ਚੱਕਰ ਦੀ ਪ੍ਰਗਤੀ ਨੂੰ ਐਨੀਮੇਟ ਕਰਨਾ ਹੈ। ਚੱਕਰ ਵਰਤਦਾ ਹੈ CSS ਵਿਸ਼ੇਸ਼ਤਾ, ਜੋ ਇਹ ਨਿਯੰਤਰਿਤ ਕਰਦੀ ਹੈ ਕਿ ਸਰਕਲ ਦੇ ਸਟ੍ਰੋਕ ਦਾ ਕਿੰਨਾ ਹਿੱਸਾ ਦਿਖਾਈ ਦਿੰਦਾ ਹੈ। JavaScript ਦੀ ਵਰਤੋਂ ਪ੍ਰਗਤੀ ਦੀ ਪ੍ਰਤੀਸ਼ਤਤਾ ਪ੍ਰਾਪਤ ਕਰਨ ਅਤੇ ਗਣਨਾ ਕਰਨ ਲਈ ਕੀਤੀ ਜਾਂਦੀ ਹੈ ਅਤੇ ਫਿਰ ਉਸ ਮੁੱਲ ਨੂੰ ਸਟ੍ਰੋਕ 'ਤੇ ਲਾਗੂ ਕਰਨ ਲਈ, ਅਸਲ-ਸਮੇਂ ਦੇ ਡੇਟਾ ਦੇ ਅਧਾਰ 'ਤੇ ਨਿਰਵਿਘਨ ਐਨੀਮੇਸ਼ਨ ਦੀ ਆਗਿਆ ਦਿੰਦੀ ਹੈ।

ਇੱਕ ਮੁੱਖ ਹਿੱਸਾ ਹੈ ਫੰਕਸ਼ਨ, ਜੋ ਕਿ ਇੱਕ ਫਾਈਲ ਜਾਂ ਸਰਵਰ ਤੋਂ ਡੇਟਾ ਪ੍ਰਾਪਤ ਕਰਦਾ ਹੈ, ਇਸ ਕੇਸ ਵਿੱਚ, ਗਾਹਕੀ ਦੀ ਗਿਣਤੀ. ਸਕ੍ਰਿਪਟ ਸਟ੍ਰਿੰਗ ਹੇਰਾਫੇਰੀ ਵਿਧੀਆਂ ਦੀ ਵਰਤੋਂ ਕਰਕੇ ਡੇਟਾ ਦੇ ਸੰਖਿਆਤਮਕ ਹਿੱਸੇ ਨੂੰ ਐਕਸਟਰੈਕਟ ਕਰਦੀ ਹੈ , ਅਤੇ ਨਤੀਜੇ ਨੂੰ ਵਰਤੋਂ ਯੋਗ ਸੰਖਿਆ ਵਿੱਚ ਬਦਲਦਾ ਹੈ . ਮੌਜੂਦਾ ਗਾਹਕੀ ਗਿਣਤੀ ਨੂੰ ਟੀਚੇ ਨਾਲ ਵੰਡ ਕੇ, ਅਸੀਂ ਦਸ਼ਮਲਵ (ਪ੍ਰਤੀਸ਼ਤ) ਵਜੋਂ ਤਰੱਕੀ ਦੀ ਗਣਨਾ ਕਰਦੇ ਹਾਂ। ਇਸ ਪ੍ਰਤੀਸ਼ਤ ਨੂੰ ਫਿਰ ਲਾਗੂ ਕੀਤਾ ਜਾਂਦਾ ਹੈ ਸਟ੍ਰੋਕ-ਡੈਸ਼ਆਫਸੈੱਟ ਦਿੱਖ ਪ੍ਰਭਾਵ ਬਣਾਉਣ ਲਈ.

ਦੂਜੀ ਸਕ੍ਰਿਪਟ ਲੇਬਲ ਰੋਟੇਸ਼ਨ ਨੂੰ ਹੈਂਡਲ ਕਰਦੀ ਹੈ, ਜੋ ਡਿਸਪਲੇ ਵਿੱਚ ਗਤੀਸ਼ੀਲ ਸਮੱਗਰੀ ਦੀ ਇੱਕ ਪਰਤ ਜੋੜਦੀ ਹੈ। ਦੀ ਵਰਤੋਂ ਕਰਕੇ ਲੇਬਲਾਂ ਨੂੰ DOM ਵਿੱਚ ਜੋੜਿਆ ਜਾਂਦਾ ਹੈ ਵਿਧੀ, ਜੋ ਮੌਜੂਦਾ ਲੇਬਲ ਟੈਂਪਲੇਟ ਦੀ ਨਕਲ ਕਰਦਾ ਹੈ। ਹਰੇਕ ਲੇਬਲ ਨੂੰ ਇੱਕ ਸੈੱਟ ਅੰਤਰਾਲ 'ਤੇ ਘੁੰਮਾਇਆ ਜਾਂਦਾ ਹੈ, ਜੋ ਦੁਆਰਾ ਨਿਯੰਤਰਿਤ ਕੀਤਾ ਜਾਂਦਾ ਹੈ ਫੰਕਸ਼ਨ. ਇਹ ਵਿਧੀ ਇੱਕ ਨਿਸ਼ਚਿਤ ਦੇਰੀ ਤੋਂ ਬਾਅਦ ਰੋਟੇਸ਼ਨ ਨੂੰ ਚਾਲੂ ਕਰਦੀ ਹੈ, ਉਪਭੋਗਤਾ ਦੀ ਆਪਸੀ ਤਾਲਮੇਲ ਦੀ ਲੋੜ ਤੋਂ ਬਿਨਾਂ ਲੇਬਲਾਂ ਵਿਚਕਾਰ ਇੱਕ ਨਿਰਵਿਘਨ ਤਬਦੀਲੀ ਬਣਾਉਂਦੀ ਹੈ।

ਦਾ ਸੁਮੇਲ ਚੱਕਰ ਅਤੇ ਲੇਬਲ ਰੋਟੇਸ਼ਨ ਸਕ੍ਰਿਪਟ ਲਈ ਇੱਕ ਆਕਰਸ਼ਕ ਉਪਭੋਗਤਾ ਇੰਟਰਫੇਸ ਬਣਾਉਂਦਾ ਹੈ। ਚੱਕਰ ਦੀ ਪ੍ਰਗਤੀ ਅਤੇ ਪ੍ਰਦਰਸ਼ਿਤ ਕੀਤੇ ਜਾ ਰਹੇ ਲੇਬਲਾਂ ਨੂੰ ਗਤੀਸ਼ੀਲ ਰੂਪ ਵਿੱਚ ਬਦਲ ਕੇ, ਅਸੀਂ ਉਪਭੋਗਤਾਵਾਂ ਨੂੰ ਅਸਲ-ਸਮੇਂ ਵਿੱਚ ਪ੍ਰਗਤੀ ਦਾ ਦ੍ਰਿਸ਼ਟੀਗਤ ਸੰਕੇਤ ਦਿੰਦੇ ਹਾਂ। ਕੋਡ ਦੀ ਮਾਡਯੂਲਰਿਟੀ ਇਹ ਵੀ ਯਕੀਨੀ ਬਣਾਉਂਦੀ ਹੈ ਕਿ ਇਹਨਾਂ ਵਿਸ਼ੇਸ਼ਤਾਵਾਂ ਨੂੰ ਹੋਰ ਡਾਟਾ-ਸੰਚਾਲਿਤ ਐਪਲੀਕੇਸ਼ਨਾਂ ਲਈ ਆਸਾਨੀ ਨਾਲ ਅਨੁਕੂਲਿਤ ਕੀਤਾ ਜਾ ਸਕਦਾ ਹੈ, ਇਸ ਨੂੰ ਗਤੀਸ਼ੀਲ UI ਤੱਤਾਂ ਨੂੰ ਲਾਗੂ ਕਰਨ ਦੀ ਕੋਸ਼ਿਸ਼ ਕਰਨ ਵਾਲੇ ਡਿਵੈਲਪਰਾਂ ਲਈ ਇੱਕ ਲਚਕਦਾਰ ਹੱਲ ਬਣਾਉਂਦਾ ਹੈ।

JavaScript ਅਤੇ CSS ਕੀਫ੍ਰੇਮਾਂ ਨਾਲ SVG ਪ੍ਰੋਗਰੈਸ ਬਾਰਾਂ ਨੂੰ ਐਨੀਮੇਟ ਕਰਨਾ

ਇਹ ਹੱਲ ਫ੍ਰੰਟ-ਐਂਡ ਡਾਇਨਾਮਿਕ ਪ੍ਰਗਤੀ ਬਾਰ ਐਨੀਮੇਸ਼ਨ ਲਈ ਵਨੀਲਾ ਜਾਵਾ ਸਕ੍ਰਿਪਟ ਅਤੇ SVG ਦੀ ਵਰਤੋਂ ਕਰਦਾ ਹੈ। ਸਕ੍ਰਿਪਟ ਮੁੱਲਾਂ ਨੂੰ ਕੱਢਦੀ ਹੈ, ਪ੍ਰਤੀਸ਼ਤਾਂ ਦੀ ਗਣਨਾ ਕਰਦੀ ਹੈ, ਅਤੇ ਉਹਨਾਂ ਨੂੰ ਨਿਰਵਿਘਨ ਐਨੀਮੇਸ਼ਨ ਲਈ ਇੱਕ SVG ਤੱਤ ਦੇ ਸਟ੍ਰੋਕ-ਡੈਸ਼ੌਫਸੈੱਟ 'ਤੇ ਲਾਗੂ ਕਰਦੀ ਹੈ।

// HTML and SVG structure
<div id="labels"></div>
<svg width="200" height="200">
<circle id="circle" cx="100" cy="100" r="90" />
</svg>
// JavaScript to animate stroke-dashoffset
let labels = document.getElementById("labels");
const SubGoal = 50; // Total subscription goal
function updateProgress(data) {
  const SubCount = parseInt(data.split('/')[0]); // Extract number
  const SubPercent = SubCount / SubGoal; // Calculate percentage
  const SubPercentStroke = 450 - 450 * SubPercent; // Set stroke offset
  document.getElementById('circle').style.strokeDashoffset = SubPercentStroke;
}
// Example usage
fetch('subscribers.txt').then(response => response.text())
.then(data => updateProgress(data));

JavaScript ਨਾਲ ਡਾਇਨਾਮਿਕ ਲੇਬਲ ਰੋਟੇਸ਼ਨ

ਇਹ ਹੱਲ JavaScript ਦੀ ਵਰਤੋਂ ਕਰਦੇ ਹੋਏ ਸੈੱਟ ਅੰਤਰਾਲਾਂ 'ਤੇ ਵੱਖ-ਵੱਖ ਲੇਬਲਾਂ ਨੂੰ ਗਤੀਸ਼ੀਲ ਰੂਪ ਨਾਲ ਘੁੰਮਾਉਂਦਾ ਹੈ। ਇਹ ਯੂਜ਼ਰ ਸੈਟਿੰਗਾਂ ਦੇ ਆਧਾਰ 'ਤੇ ਸਥਿਰ ਅਤੇ ਰੋਟੇਟਿੰਗ ਡਿਸਪਲੇ ਦੋਵਾਂ ਦਾ ਸਮਰਥਨ ਕਰਦਾ ਹੈ।

// Label rotation logic
var displaySettings = "RotatingDisplays";
var displayRotationSeconds = 2;
var displayRotationIndex = 0;
function rotateLabelDisplay() {
  if (displayRotationIndex >= labels.children.length) {
    displayRotationIndex = 0;
  }
  for (const label of labels.children) {
    label.style.visibility = 'hidden';
  }
  let label = labels.children[displayRotationIndex];
  label.style.visibility = 'visible';
  displayRotationIndex++;
  setTimeout(rotateLabelDisplay, displayRotationSeconds * 1000);
}
// Trigger rotation if display setting is enabled
if (displaySettings === "RotatingDisplays") {
  rotateLabelDisplay();
} else {
  labels.children[0].style.visibility = "visible";
}

JavaScript ਅਤੇ CSS ਵੇਰੀਏਬਲ ਦੇ ਨਾਲ ਐਨੀਮੇਸ਼ਨ ਨੂੰ ਵਧਾਉਣਾ

ਵਰਤਣ ਦਾ ਇੱਕ ਮਹੱਤਵਪੂਰਨ ਪਹਿਲੂ ਐਨੀਮੇਸ਼ਨਾਂ ਨੂੰ ਨਿਯੰਤਰਿਤ ਕਰਨਾ ਇਸਦੇ ਨਾਲ ਇੰਟਰੈਕਟ ਕਰਨ ਦੀ ਯੋਗਤਾ ਹੈ . ਇਹ ਵੇਰੀਏਬਲ ਡਿਵੈਲਪਰਾਂ ਨੂੰ ਵਧੇਰੇ ਮੁੜ ਵਰਤੋਂ ਯੋਗ ਅਤੇ ਆਸਾਨੀ ਨਾਲ ਸਾਂਭਣਯੋਗ ਕੋਡ ਬਣਾਉਣ ਦੀ ਇਜਾਜ਼ਤ ਦਿੰਦੇ ਹਨ। ਉਦਾਹਰਨ ਲਈ, ਸਟ੍ਰੋਕ-ਡੈਸ਼ੌਫਸੈੱਟ ਵਰਗੇ ਹਾਰਡਕੋਡਿੰਗ ਐਨੀਮੇਸ਼ਨ ਮੁੱਲਾਂ ਨੂੰ ਸਿੱਧੇ JavaScript ਵਿੱਚ ਕਰਨ ਦੀ ਬਜਾਏ, ਤੁਸੀਂ ਉਹਨਾਂ ਨੂੰ CSS ਵੇਰੀਏਬਲ ਵਜੋਂ ਪਰਿਭਾਸ਼ਿਤ ਕਰ ਸਕਦੇ ਹੋ ਅਤੇ JavaScript ਦੀ ਵਰਤੋਂ ਕਰਕੇ ਉਹਨਾਂ ਨੂੰ ਹੇਰਾਫੇਰੀ ਕਰ ਸਕਦੇ ਹੋ। ਇਹ ਤੁਹਾਡੀਆਂ ਐਨੀਮੇਸ਼ਨ ਵਿਸ਼ੇਸ਼ਤਾਵਾਂ ਦਾ ਪ੍ਰਬੰਧਨ ਕਰਨ ਦਾ ਇੱਕ ਸਾਫ਼ ਤਰੀਕਾ ਪ੍ਰਦਾਨ ਕਰਦਾ ਹੈ ਅਤੇ ਤੁਹਾਡੇ ਕੋਡ ਨੂੰ ਹੋਰ ਮਾਡਿਊਲਰ ਅਤੇ ਸਕੇਲੇਬਲ ਬਣਾਉਂਦਾ ਹੈ।

CSS ਨਾਲ JavaScript ਨੂੰ ਜੋੜਨ ਵੇਲੇ ਇੱਕ ਹੋਰ ਸ਼ਕਤੀਸ਼ਾਲੀ ਵਿਸ਼ੇਸ਼ਤਾ ਘਟਨਾ ਸੁਣਨ ਵਾਲਿਆਂ ਦੀ ਵਰਤੋਂ ਹੈ। ਇਵੈਂਟ-ਸੰਚਾਲਿਤ ਐਨੀਮੇਸ਼ਨ ਉਪਭੋਗਤਾ ਇੰਟਰੈਕਸ਼ਨਾਂ ਦੇ ਆਧਾਰ 'ਤੇ ਟਰਿੱਗਰ ਕਰ ਸਕਦੇ ਹਨ, ਜਿਵੇਂ ਕਿ ਇੱਕ ਬਟਨ ਨੂੰ ਕਲਿੱਕ ਕਰਨਾ ਜਾਂ ਕਿਸੇ ਪੰਨੇ ਨੂੰ ਹੇਠਾਂ ਸਕ੍ਰੋਲ ਕਰਨਾ। ਸਾਡੀ ਉਦਾਹਰਨ ਵਿੱਚ, ਤੁਸੀਂ ਇੰਟਰਐਕਟੀਵਿਟੀ ਜੋੜ ਕੇ ਐਨੀਮੇਸ਼ਨ ਨੂੰ ਵਧਾ ਸਕਦੇ ਹੋ। ਉਦਾਹਰਨ ਲਈ, ਸਟ੍ਰੋਕ-ਡੈਸ਼ੌਫਸੈੱਟ ਦੀ ਮੁੜ ਗਣਨਾ ਕੀਤੀ ਜਾ ਸਕਦੀ ਹੈ ਅਤੇ ਗਤੀਸ਼ੀਲ ਤੌਰ 'ਤੇ ਲਾਗੂ ਕੀਤੀ ਜਾ ਸਕਦੀ ਹੈ ਜਦੋਂ ਵੀ ਕੋਈ ਉਪਭੋਗਤਾ ਗਾਹਕ ਬਣ ਜਾਂਦਾ ਹੈ ਜਾਂ ਕੋਈ ਹੋਰ ਕਾਰਵਾਈ ਕਰਦਾ ਹੈ। ਇਹ ਇੱਕ ਬਹੁਤ ਹੀ ਆਕਰਸ਼ਕ ਅਤੇ ਇੰਟਰਐਕਟਿਵ ਅਨੁਭਵ ਬਣਾਉਂਦਾ ਹੈ ਜੋ ਰੀਅਲ-ਟਾਈਮ ਡੇਟਾ ਦਾ ਜਵਾਬ ਦਿੰਦਾ ਹੈ।

ਇਸ ਤੋਂ ਇਲਾਵਾ, ਜੋੜਨਾ ਕੀਫ੍ਰੇਮ ਦੇ ਨਾਲ ਨਿਰਵਿਘਨ ਅਤੇ ਕੁਸ਼ਲ ਐਨੀਮੇਸ਼ਨ ਬਣਾਉਣ ਦਾ ਇੱਕ ਹੋਰ ਤਰੀਕਾ ਹੈ। ਇਹ ਵਿਧੀ ਇਹ ਯਕੀਨੀ ਬਣਾਉਂਦੀ ਹੈ ਕਿ ਐਨੀਮੇਸ਼ਨਾਂ ਬ੍ਰਾਊਜ਼ਰ ਦੇ ਅਨੁਕੂਲ ਰੀਪੇਂਟ ਚੱਕਰ ਦੌਰਾਨ ਕੀਤੀਆਂ ਜਾਂਦੀਆਂ ਹਨ, ਰਵਾਇਤੀ ਸੈੱਟਇੰਟਰਵਲ ਜਾਂ ਸੈੱਟਟਾਈਮਆਉਟ ਦੇ ਮੁਕਾਬਲੇ ਬਿਹਤਰ ਪ੍ਰਦਰਸ਼ਨ ਪ੍ਰਦਾਨ ਕਰਦੀਆਂ ਹਨ। ਇਹ ਤਕਨੀਕ ਖਾਸ ਤੌਰ 'ਤੇ ਉਪਯੋਗੀ ਹੁੰਦੀ ਹੈ ਜਦੋਂ ਅਕਸਰ ਐਨੀਮੇਸ਼ਨਾਂ ਜਾਂ ਭਾਰੀ JavaScript ਪ੍ਰਕਿਰਿਆਵਾਂ ਨਾਲ ਨਜਿੱਠਦੇ ਹੋ ਜੋ ਉਪਭੋਗਤਾ ਇੰਟਰਫੇਸ ਨੂੰ ਹੌਲੀ ਕਰ ਸਕਦੀਆਂ ਹਨ।

  1. ਕਿਵੇਂ ਕਰਦਾ ਹੈ SVG ਐਨੀਮੇਸ਼ਨਾਂ ਨੂੰ ਪ੍ਰਭਾਵਿਤ ਕਰਦੇ ਹੋ?
  2. ਦ ਇਹ ਨਿਯੰਤਰਿਤ ਕਰਦਾ ਹੈ ਕਿ SVG ਮਾਰਗ ਦਾ ਕਿੰਨਾ ਸਟ੍ਰੋਕ ਦਿਖਾਈ ਦਿੰਦਾ ਹੈ। ਇਸਦੇ ਮੁੱਲ ਨੂੰ ਬਦਲਣਾ ਨਿਰਵਿਘਨ ਤਰੱਕੀ-ਵਰਗੇ ਐਨੀਮੇਸ਼ਨਾਂ ਦੀ ਆਗਿਆ ਦਿੰਦਾ ਹੈ।
  3. ਦੀ ਭੂਮਿਕਾ ਕੀ ਹੈ ਰੀਅਲ-ਟਾਈਮ ਐਨੀਮੇਸ਼ਨ ਵਿੱਚ?
  4. ਇੱਕ API ਜਾਂ ਫਾਈਲ ਤੋਂ ਡੇਟਾ ਪ੍ਰਾਪਤ ਕਰਨ ਲਈ ਵਰਤਿਆ ਜਾਂਦਾ ਹੈ। ਐਨੀਮੇਸ਼ਨਾਂ ਵਿੱਚ, ਇਹ ਗਾਹਕਾਂ ਦੀ ਗਿਣਤੀ ਵਰਗੇ ਗਤੀਸ਼ੀਲ ਮੁੱਲਾਂ ਨੂੰ ਲੋਡ ਕਰਨ ਵਿੱਚ ਮਦਦ ਕਰਦਾ ਹੈ, ਜਿਸ ਨੂੰ ਸਕ੍ਰੀਨ 'ਤੇ ਐਨੀਮੇਟ ਕੀਤਾ ਜਾ ਸਕਦਾ ਹੈ।
  5. ਸਕਦਾ ਹੈ ਐਨੀਮੇਸ਼ਨ ਅੰਤਰਾਲ ਨੂੰ ਕੰਟਰੋਲ ਕਰਨ ਲਈ ਵਰਤਿਆ ਜਾ ਸਕਦਾ ਹੈ?
  6. ਹਾਂ, ਐਨੀਮੇਸ਼ਨਾਂ ਵਿੱਚ ਦੇਰੀ ਸ਼ੁਰੂ ਕਰਨ ਲਈ ਵਰਤਿਆ ਜਾ ਸਕਦਾ ਹੈ, ਜਿਵੇਂ ਕਿ ਅੰਤਰਾਲਾਂ 'ਤੇ ਲੇਬਲ ਘੁੰਮਾਉਣਾ।
  7. ਦਾ ਮਕਸਦ ਕੀ ਹੈ JavaScript ਐਨੀਮੇਸ਼ਨ ਸਕ੍ਰਿਪਟਾਂ ਵਿੱਚ?
  8. ਇੱਕ ਸਟ੍ਰਿੰਗ (ਜਿਵੇਂ "42/50") ਨੂੰ ਇੱਕ ਪੂਰਨ ਅੰਕ ਵਿੱਚ ਬਦਲਦਾ ਹੈ, ਜੋ ਕਿ ਗਤੀਸ਼ੀਲ ਐਨੀਮੇਸ਼ਨਾਂ ਵਿੱਚ ਪ੍ਰਤੀਸ਼ਤ ਦੀ ਗਣਨਾ ਕਰਨ ਲਈ ਜ਼ਰੂਰੀ ਹੈ।
  9. ਮੈਨੂੰ ਕਿਉਂ ਵਰਤਣਾ ਚਾਹੀਦਾ ਹੈ ਦੇ ਬਜਾਏ ?
  10. ਨੂੰ ਐਨੀਮੇਸ਼ਨਾਂ ਲਈ ਅਨੁਕੂਲਿਤ ਕੀਤਾ ਗਿਆ ਹੈ, ਉਹਨਾਂ ਨੂੰ ਬ੍ਰਾਊਜ਼ਰ ਦੇ ਰੀਪੇਂਟ ਚੱਕਰ ਨਾਲ ਸਿੰਕ ਕਰਕੇ ਨਿਰਵਿਘਨ ਪਰਿਵਰਤਨ ਯਕੀਨੀ ਬਣਾਉਂਦਾ ਹੈ।

ਸੰਯੋਗ CSS ਨਾਲ ਸ਼ਕਤੀਸ਼ਾਲੀ ਅਤੇ ਗਤੀਸ਼ੀਲ ਐਨੀਮੇਸ਼ਨਾਂ ਦੀ ਆਗਿਆ ਦਿੰਦਾ ਹੈ ਜੋ ਰੀਅਲ-ਟਾਈਮ ਡੇਟਾ ਦਾ ਜਵਾਬ ਦੇ ਸਕਦੇ ਹਨ। ਪ੍ਰਤੀਸ਼ਤਾਂ ਵਰਗੇ ਮੁੱਲਾਂ ਦੀ ਗਣਨਾ ਕਰਨ ਅਤੇ ਉਹਨਾਂ ਨੂੰ ਕੀਫ੍ਰੇਮ ਐਨੀਮੇਸ਼ਨਾਂ 'ਤੇ ਲਾਗੂ ਕਰਨ ਦੇ ਤਰੀਕੇ ਨੂੰ ਸਮਝ ਕੇ, ਤੁਸੀਂ ਆਕਰਸ਼ਕ ਅਤੇ ਜਵਾਬਦੇਹ ਉਪਭੋਗਤਾ ਇੰਟਰਫੇਸ ਬਣਾ ਸਕਦੇ ਹੋ ਜੋ ਲਾਈਵ ਪ੍ਰਗਤੀ ਜਾਂ ਡੇਟਾ ਅਪਡੇਟਾਂ ਨੂੰ ਦਰਸਾਉਂਦੇ ਹਨ।

ਇਸ ਗਾਈਡ ਵਿੱਚ ਸ਼ਾਮਲ ਤਕਨੀਕਾਂ ਦੇ ਨਾਲ, ਤੁਸੀਂ ਆਸਾਨੀ ਨਾਲ ਸੰਪਤੀਆਂ ਵਿੱਚ ਹੇਰਾਫੇਰੀ ਕਰ ਸਕਦੇ ਹੋ ਜਿਵੇਂ ਕਿ SVG ਐਨੀਮੇਸ਼ਨਾਂ ਲਈ ਅਤੇ ਤੱਤ ਨੂੰ ਗਤੀਸ਼ੀਲ ਰੂਪ ਵਿੱਚ ਘੁੰਮਾਓ। ਇਹ ਸੁਮੇਲ ਰੀਅਲ-ਟਾਈਮ ਡੇਟਾ ਇਨਪੁਟਸ ਦੇ ਨਾਲ ਆਪਣੇ ਪ੍ਰੋਜੈਕਟਾਂ ਵਿੱਚ ਗਤੀਸ਼ੀਲ ਐਨੀਮੇਸ਼ਨਾਂ ਨੂੰ ਏਕੀਕ੍ਰਿਤ ਕਰਨ ਦੀ ਕੋਸ਼ਿਸ਼ ਕਰਨ ਵਾਲੇ ਡਿਵੈਲਪਰਾਂ ਲਈ ਇੱਕ ਸਕੇਲੇਬਲ ਹੱਲ ਪ੍ਰਦਾਨ ਕਰਦਾ ਹੈ।

  1. ਵਰਤਣ ਬਾਰੇ ਵਿਸਤ੍ਰਿਤ ਜਾਣਕਾਰੀ SVG ਐਨੀਮੇਸ਼ਨਾਂ ਲਈ ਇੱਥੇ ਲੱਭਿਆ ਜਾ ਸਕਦਾ ਹੈ MDN ਵੈੱਬ ਡੌਕਸ: ਸਟ੍ਰੋਕ-ਡੈਸ਼ੌਫਸੈੱਟ .
  2. JavaScript ਅਤੇ CSS ਦੀ ਵਰਤੋਂ ਕਰਦੇ ਹੋਏ ਡਾਇਨਾਮਿਕ ਕੀਫ੍ਰੇਮ ਐਨੀਮੇਸ਼ਨਾਂ ਬਾਰੇ ਹੋਰ ਜਾਣਕਾਰੀ ਲਈ, ਵੇਖੋ ਸਮੈਸ਼ਿੰਗ ਮੈਗਜ਼ੀਨ: CSS ਕੀਫ੍ਰੇਮ ਐਨੀਮੇਸ਼ਨ .
  3. ਨਾਲ DOM ਨੂੰ ਹੇਰਾਫੇਰੀ ਕਰਨ 'ਤੇ ਵਾਧੂ ਮਾਰਗਦਰਸ਼ਨ JavaScript ਵਿੱਚ ਇੱਥੇ ਉਪਲਬਧ ਹੈ MDN ਵੈੱਬ ਡੌਕਸ: cloneNode .
  4. ਵਰਤਣ ਬਾਰੇ ਹੋਰ ਜਾਣੋ ਤੋਂ ਰੀਅਲ ਟਾਈਮ ਵਿੱਚ ਡਾਟਾ ਪ੍ਰਾਪਤ ਕਰਨ ਲਈ MDN ਵੈੱਬ ਡੌਕਸ: ਪ੍ਰਾਪਤ ਕਰਨਾ .