עבור אל תוכן

חוקי הפורום - נא לקרוא

תמונה

שאלות/טריקים ב-JavaScript

javascript

  • אנא התחבר בכדי להגיב
30 תגובות לנושא זה

#1 RuinSain

RuinSain

    https://taamtov.net

  • מתרגמי רשת
  • ******
  • 2,407 הודעות

נכתב ב- ‎17/10/2017‏, ‎14:36

בהתאם לאשכול על CSS, הנה אחד על javascript.
כל מיני דברים מדליקים, שיטות פשוטות ב-js וכו' לבעיות יומיומיות.
 


  • avrahamcool אוהב את זה

dLORI9W.png  


#2 RuinSain

RuinSain

    https://taamtov.net

  • מתרגמי רשת
  • ******
  • 2,407 הודעות

נכתב ב- ‎18/10/2017‏, ‎13:25

הנה משהו שגיליתי לא מזמן. 
אם יש לכם איזשהו טאג עם האטריביוט name, אתם יכולים לגשת אליו דרך האובג'קט  document.
למשל...
 

<input name="tags">

ניתן יהיה לגשת אליו דרך document.tags.

 

זה מעולה כאשר מבינים שלא צריך לעשות לו queryselector, וחוסכים "קפיצה" אל ה-DOM.

 

ממה שאני רואה ניתן גם לשרשר אותם כמו למשל במצב הזה:

<form name="form">
<input name="input">
</form>

זה מביא אותנו אל:

document.form.input

נחמד ביותר!


dLORI9W.png  


#3 RuinSain

RuinSain

    https://taamtov.net

  • מתרגמי רשת
  • ******
  • 2,407 הודעות

נכתב ב- ‎05/11/2017‏, ‎01:46

בכדי לגשת ביתר קלות אל מאפיינים בטאג מסוים, ניתן להשתמש ב-this. למשל:

this.classList.toggle('your-class');

dLORI9W.png  


#4 avrahamcool

avrahamcool

    קול, אברהם קול.

  • ותיקים
  • *******
  • 5,704 הודעות

נכתב ב- ‎05/11/2017‏, ‎10:00

 

בכדי לגשת ביתר קלות אל מאפיינים בטאג מסוים, ניתן להשתמש ב-this. למשל:

this.classList.toggle('your-class');

וואטטט??

 

ה- this תלוי בקונטקסט שאתה נמצא בו.

הקוד הזה לא יעבוד יותר פעמים מאשר כן יעבוד.

[נניח שאני כותב קלאס - ES6, מילת נמפתח this תחזיק את המופע של הקלאס ולא תג מסויים בדף].

 

איפה זה כן עובד?

ב forEach על nodes? ב JQ?


כן , כן , מלכים אין רק באגדות...

1411724.png


#5 RuinSain

RuinSain

    https://taamtov.net

  • מתרגמי רשת
  • ******
  • 2,407 הודעות

נכתב ב- ‎05/11/2017‏, ‎10:51

 

 

בכדי לגשת ביתר קלות אל מאפיינים בטאג מסוים, ניתן להשתמש ב-this. למשל:

this.classList.toggle('your-class');

וואטטט??

 

ה- this תלוי בקונטקסט שאתה נמצא בו.

הקוד הזה לא יעבוד יותר פעמים מאשר כן יעבוד.

[נניח שאני כותב קלאס - ES6, מילת נמפתח this תחזיק את המופע של הקלאס ולא תג מסויים בדף].

 

איפה זה כן עובד?

ב forEach על nodes? ב JQ?

 

 

הייתי צריך לומר כמובן טאג html.

למשל:

<div class="one" onclick="this.classList.toggle('my new class')"></div>

dLORI9W.png  


#6 avrahamcool

avrahamcool

    קול, אברהם קול.

  • ותיקים
  • *******
  • 5,704 הודעות

נכתב ב- ‎05/11/2017‏, ‎13:43

אוקיי - עכשיו יותר הגיוני חח


  • RuinSain אוהב את זה

כן , כן , מלכים אין רק באגדות...

1411724.png


#7 RuinSain

RuinSain

    https://taamtov.net

  • מתרגמי רשת
  • ******
  • 2,407 הודעות

נכתב ב- ‎05/11/2017‏, ‎14:01

לגמרי... רשמתי את בשתיים בלילה  :lol:


dLORI9W.png  


#8 RuinSain

RuinSain

    https://taamtov.net

  • מתרגמי רשת
  • ******
  • 2,407 הודעות

נכתב ב- ‎07/11/2017‏, ‎19:16

מישהו מכיר את ה-fetch api? משום מה כאשר אני מנסה לקרוא לכמה תמונות במקביל עם forEach, אני מקבל ורואה רק את התמונה הראשונה.

מה הדרך הנכונה לעשות את זה?


dLORI9W.png  


#9 avrahamcool

avrahamcool

    קול, אברהם קול.

  • ותיקים
  • *******
  • 5,704 הודעות

נכתב ב- ‎07/11/2017‏, ‎21:47

ככל הנראה יש לך שגיאה בהתעסקות עם ה Promise שחוזר מה- fetch.

שים דוגמא של הקוד - אנסה למצוא את הבעיה.


כן , כן , מלכים אין רק באגדות...

1411724.png


#10 RuinSain

RuinSain

    https://taamtov.net

  • מתרגמי רשת
  • ******
  • 2,407 הודעות

נכתב ב- ‎07/11/2017‏, ‎22:31

צדקת. הייתי צריך לעשות forEach גם ב-Promise, לכן קיבלתי רק את התמונה הראשונה בכל פעם, למרות שבקונסול הוא הראה סטרינגים של כל התמונות. 

תודה!


dLORI9W.png  


#11 RuinSain

RuinSain

    https://taamtov.net

  • מתרגמי רשת
  • ******
  • 2,407 הודעות

נכתב ב- ‎29/11/2017‏, ‎10:40

הנה משהו נחמד שלא ידעתי עליו עד עכשיו.

ישנה אפשרות ב-chrome dev tools לקחת תמונה של כל node בתוך ה-dom.

תעשו inspect לאלמנט שתרצו ואז ctrl+shift+P וחפשו capture node screenshot, לחצו על זה ויש לכם תמונה של אותו אלמנט. נחמד מאוד.


  • avrahamcool אוהב את זה

dLORI9W.png  


#12 Superb

Superb

    רציני? 10,000 הודעות!?

  • Q-Fame
  • ********
  • 17,865 הודעות

נכתב ב- ‎02/12/2017‏, ‎16:08

צדקת. הייתי צריך לעשות forEach גם ב-Promise, לכן קיבלתי רק את התמונה הראשונה בכל פעם, למרות שבקונסול הוא הראה סטרינגים של כל התמונות. 

תודה!

Promise.all(myUrlsArray.map(url => fetch(url))

  • RuinSain אוהב את זה

#13 RuinSain

RuinSain

    https://taamtov.net

  • מתרגמי רשת
  • ******
  • 2,407 הודעות

נכתב ב- ‎02/12/2017‏, ‎16:58

נחמד ביותר, סופ.
דרך אגב, הנה משהו שלפי דעתי כל אדם שעוסק בפיתוח כדאי לו להשתמש. חבילה בודקת עבורך האם ישנן בעיות מבחינה משפטית בדיפנדנסיס של פרויקט מסוים. https://github.com/J...nseUsability.js

dLORI9W.png  


#14 Superb

Superb

    רציני? 10,000 הודעות!?

  • Q-Fame
  • ********
  • 17,865 הודעות

נכתב ב- ‎02/12/2017‏, ‎17:31

אז אתה תאהב את זה: https://fossa.io/


  • RuinSain אוהב את זה

#15 RuinSain

RuinSain

    https://taamtov.net

  • מתרגמי רשת
  • ******
  • 2,407 הודעות

נכתב ב- ‎02/12/2017‏, ‎17:37

אז אתה תאהב את זה: https://fossa.io/

 

חחח מעולה! 

לפעמים אני תוהה לעצמי מה צריך לרשום בגוגל כדי להגיע לדברים מסוימים. 

נחמד ביותר.


dLORI9W.png  


#16 avrahamcool

avrahamcool

    קול, אברהם קול.

  • ותיקים
  • *******
  • 5,704 הודעות

נכתב ב- ‎02/12/2017‏, ‎18:30

 

צדקת. הייתי צריך לעשות forEach גם ב-Promise, לכן קיבלתי רק את התמונה הראשונה בכל פעם, למרות שבקונסול הוא הראה סטרינגים של כל התמונות. 

תודה!

Promise.all(myUrlsArray.map(url => fetch(url))

 

אפשר קצר יותר כך:

Promise.all(myUrlsArray.map(fetch))

  • RuinSain אוהב את זה

כן , כן , מלכים אין רק באגדות...

1411724.png


#17 RuinSain

RuinSain

    https://taamtov.net

  • מתרגמי רשת
  • ******
  • 2,407 הודעות

נכתב ב- ‎02/12/2017‏, ‎22:50

***מלחמת הכוכבים***


dLORI9W.png  


#18 Superb

Superb

    רציני? 10,000 הודעות!?

  • Q-Fame
  • ********
  • 17,865 הודעות

נכתב ב- ‎02/12/2017‏, ‎22:57

fetch מקבל פרמטר שני, כך שלהעביר אותו כמו שהוא ל-map מרגיש טיפה מסוכן (map בעצמו מעביר פרמטר שני ושלישי ל-callback).

אולי לא יגרום בעיה במקרה הספציפי הזה (הפרמטר השני הוא האינדקס), אבל זה משהו שצריך לשים לב אליו.

הדוגמה הכי קלאסית לזה היא:

['1','2','3'].map(parseInt)

כאן הפרמטר השני שמועבר ל-callback מובן כ-base של ההמרה.

לעומת הקוד לעיל, זה כן יעבוד:

['1','2','3'].map(num => parseInt(num))

בכל מקרה, כ-good practice צריך להזהר מ-API שמקבל כמה פרמטרים (חלקם optional) כשמעבירים אותו לפונקציות כמו map/reduce/filter וכו'.


  • avrahamcool אוהב את זה

#19 avrahamcool

avrahamcool

    קול, אברהם קול.

  • ותיקים
  • *******
  • 5,704 הודעות

נכתב ב- ‎03/12/2017‏, ‎11:57

מקבל את הטענה שצריך להיזהר עם זה..

דוגמה יפה.


כן , כן , מלכים אין רק באגדות...

1411724.png


#20 RuinSain

RuinSain

    https://taamtov.net

  • מתרגמי רשת
  • ******
  • 2,407 הודעות

נכתב ב- ‎08/12/2017‏, ‎17:10

רכיב Tabs שעשיתי עם Vue.js ו-Bulma בתור העיצוב.

Vue.js Tabs Component


dLORI9W.png  






תויגו גם עם אחת או יותר ממילות המפתח הללו: javascript

1 משתמשים קוראים נושא זה

0 משתמשים, 1 אורחים, 0 משתמשים אנונימיים