הירשמו לאתר שגיב SEO ותישארו מעודכנים עם חדשות קידום אתרים, מידע, טיפים וטריקים לבוני אתרים ועוד.
הצטרפו היום! ו... אל דאגה, אנחנו ממש לא מהנסחפים ולמעשה שולחים דיוור רק פעם בחודש!
פעמים רבות נרצה להחזיר את הערך בשדה טקסט מסוים אשר הוקלד / הודבק על ידי המשתמש באתר שלנו כדי לעשות שימוש במידע זה. הסניפט הבא הוא דרך קלה להחזיר את הערך הקיים בתוך שדה קלט מסוג טקסט כלומר input טקסט סטנדרטי.
// אופציה א var thevalue = $('input#example_id').val(); // אופציה ב var thevalue = $('input#example_id').attr('value');
<input type="text" name="example_input" id="example_id'" value="אני הערך שחזר!" />אחזור ערך (value) משדה טקסט
עוד סניפט קצר שעוזר לנו להחזיר מידע מתוך שדה טקסט רחב כלומר textarea. בשונה משדה טקסט רגיל אנו נשמיט את הקידומת input וסיימנו... שימו לב כי קיימות שתי אפשרויות - המועדפת עלי היא השנייה בשני המקרים - גם כאשר מדובר על שדה טקסט רגיל כלומר input וגם כאשר מדובר על שדה טקסט רחב כלומר textarea
// אופציה א var thevalue = $('#example_id').val(); // אופציה ב var thevalue = $('#example_id').attr('value');
<textarea name="example_id" id="example_id" cols="30" rows="10">אני הערך אשר יחזוראחזור ערך (value) משדה Textarea
פעמים רבות נבקש לקבל משתנים אותם נשלח דרך שורת הכתובת של עמוד מסוים כדי לספק למשתמשים שונים מידע מוכן בצורה שונה. הפונקציה הבאה מאפשרת לנו לעשות זאת בצורה קלה.
// ראשית נטמיע את הפונקציות הבאות function getUrlVars() { var vars = {}; var parts = window.location.href.replace(/[?&]+([^=&]+)=([^&]*)/gi, function(m,key,value) { vars[key] = value; }); return vars; } // כעת אפשר לקבל את המשתנים בשורת הURL var myname = getUrlVars()["myname"]; var mysite = getUrlVars()["mysite"];
https://www.example.com/index.php?myname=שגיב SEO&mysite=sagive.co.ilאחזור משתנים משורת הכתובת
הסניפט הבא שנבדק ונלעס יעזור לנו להחזיר את הבחירה של הגולש בשדה מסוג Select כלומר כאשר אנו בוחרים משהוא בשדה מסוג Select אנו צריכים לשאול בעזרת jQuery מה Selected וכך נוכל לעשות שימוש בערך הנבחר.
var selected_value = $('select#select_id option:selected').val(),
<select name="exmapleSelect" id="select_id"> <option value="example-one">ערך לדוגמה 1</option> <option value="example-two">ערך לדוגמה 2</option> <option value="example-three">ערך לדוגמה 3</option> </select>אחזור בחירת המשתמש בשדה Select
הסניפט הבא יעזור לנו להחזיר את הערך הנבחר (כפתור הרדיו עליו המשתמש לחץ) בתוך סדרת כפתורי רדיו בהם עושים שימוש נפוץ בטפסים בעזרת jQuery.
var selected_value = $('[name=radio_group_name]:checked').val();
<input type="radio" name="radio_group_name" id="radio_one" /> <input type="radio" name="radio_group_name" id="radio_two" /> <input type="radio" name="radio_group_name" id="radio_three" />אחזור בחירת המשתמש בכפתורי רדיו
הסניפט הקצר הבא מאפשר לאפס שדה קלט רגיל / שדה טקסט פשוט. פשוט ולעניין ושימושי כמעט בכל טופס בו אתם מאפשרים לגולשים להגיש פנייה או טופס מסוג אחר
$('div#someForm').find('input#exampleField').val('');איפוס שדה קלט רגיל
הסניפט / פקודה הבאה עוזרת לאפס שדה טקסט (textarea) בצורה קלה ומהירה. זאת פקודה שימושית במיוחד לאלו ביניכם אשר מתשמשים בטפסים בהם קיים גם קוד ג'אווה סקריפט / jQuery - קצר ושימושי.
$('div#someForm').find('#exampleTxtArea').val('');איפוס שדה Textarea
הסניפט הבא עוזר לאפס שדה SELECT בצורה הנכונה! מה שהוא עושה הוא לבחור את השדה הראשון בשדה Select שהוא לרוב שדה נטול ערך אשר נועד רק לייצג את הבחירה. זאת לעומת "prop('selectedIndex',0)" אשר מאפס שדה Select ומציג ערך טקסט ריק בשורה הראשונה.
$('div#someForm').find('#exampleSelect option[value=""]').attr('selected','selected');איפוס שדה select
פעמים רבות נרצה לשנות טקסט מסוים לפני שאנו מגישים אותו בטופס או לפני שאנו מחזירים אותו לגולש למטרות תצוגה או התאמה של הקוד... בדוגמה הבאה אני מדגים את משנים מחרוזת טקסט בjQuery בקלות! הדוגמה היא שינוי של כתובת אתר לכתובת אתר עם https:// לפניה.
var url = 'www.example.com'; var fixed_url = url.replace('www.', 'https://www.');שינוי טקסט בתוך מחרוזת טקסט
הסניפט הבא הוא תוצאה של חיפוש אחר פתרון עבור אחזור מידע / משתנים מתוך הURL... כאשר ניסיתי לאחזר משתנים מתוך הURL אשר כללו מחרוזות בעברית נתקלתי בבעיית קידוד וקיבלתי תווים הזויים שאנו מכירים בדומיינים בעברית כמו לדוגמה המחרוזת (%u05E9%u05DC%u05D5%u05DD) אשר משמעותה "שלום". בעזרת הפונקציה הבאה בjavascript תוכלו לבצע המרה של תווים אלו חזרה לעברית!
// ראשית הוסיפו את הפונקציה הבאה function decode(str) { return decodeURIComponent(str.replace(/\+/g, " ")); } // כעת תוכלו להמיר מחרוזת בצורה כזאת var hebrew = decode('%u05E9%u05DC%u05D5%u05DD']); // תוצאה var hebrew = 'שלום';קידוד תווי URL חזרה לעברית
פונקציה מעולה וכל הכבוד ליוצרים שלה (ראו קישור מצורף למקור) אשר עוזרת להחליף תווים במחרוזת טקסט / HTML בתוך Javascript או בjQuery. בשונה מreplace היא מחליפה את המחרוזת לכל אורך הטקסט ולא רק פעם אחת ולכן היא שימושית במיוחד!
function str_replace (search, replace, subject, count) { var i = 0, j = 0, temp = ", repl = ", sl = 0, fl = 0, f = [].concat(search), r = [].concat(replace), s = subject, ra = Object.prototype.toString.call(r) === '[object Array]', sa = Object.prototype.toString.call(s) === '[object Array]'; s = [].concat(s); if (count) { this.window[count] = 0; }
for (i = 0, sl = s.length; i < sl; i++) { if (s[i] === '') { continue; } for (j = 0, fl = f.length; j < fl; j++) { temp = s[i] + ''; repl = ra ? (r[j] !== undefined ? r[j] : '') : r[0]; s[i] = (temp).split(f[j]).join(repl); if (count && s[i] !== temp) { this.window[count] += (temp.length - s[i].length) / f[j].length; } } } return sa ? s : s[0]; } [/js]
החלפת תו מספר פעמים בדומה לPHPפונקציה שימושית להחלפה מהירה של טקסט בתוך מחרוזת טקסט אחרת (את כל החזרות של אותה מחרוזת טקסט). שימושי ומהיר וקצת יותר קריא וקצר מהפונקציה המקבילה לה כאן למעלה.
function replaceSubstring(inSource, inToReplace, inReplaceWith) { var outString = inSource; while (true) { var idx = outString.indexOf(inToReplace); if (idx == -1) { break; } outString = outString.substring(0, idx) + inReplaceWith + outString.substring(idx + inToReplace.length); } return outString; }החלפת טקסט בתוך מחרוזת טקסט גרסה 2
הסניפט הבא שימושי במיוחד לאלו שכבר מרגישים בנוח עם כתיבת לולאות בג'אווה סקריפט / jQuery ורוצים לדעת כמה אלמנטים יש בתוך מיכל (לדוגמה בתוך טבלה או בתוך DIV) כדי לעשות את החשבון לקל יותר ולהתאים (לדוגמה) את התצוגה או התוצאה למספר שחזר. בדוגמה הבאה אני סופר כמה שדות קלט (input) יש עם קלאס מסוים class... ועושה זאת בשורת קוד אחת בצורה מהירה וקלה להבנה.
var how_many = $(':input.someclass').length; // התוצאה בכפוף לקוד HTML המוצג כאן תהיה 3
<input type="text" name="field1" id="field1" class="someclass" /> <input type="text" name="field2" id="field2" class="someclass" /> <input type="text" name="field3" id="field3" class="othereclass" /> <input type="text" name="field4" id="field4" class="someclass" /> <input type="text" name="field5" id="field5" class="othereclass" />סופרים כמה אלמנטים בתוך מיכל
פונקציה שימושית מאוד שמחזירה מספר רנדומלי בין שני מספרים בעזרת פונקציה פשוטה של Javascript. פשוט הטמיעו את הפונקציה והשתמשו בה היכן שתרצו בקוד.
function random(min, max, decimal, exclude) { // if no min and max is passed, return true or false if (arguments.length < 2) return(Math.random() >= 0.5); // calc decimal multiplier var factor = 1, result; if (typeof decimal === "number") { factor = Math.pow(10, decimal); } // loop until we get a value that isn't our exclude value do { result = Math.random() * (max - min) + min; result = Math.round(result * factor) / factor; } while (result === exclude); return result; } // USAGE: random(4, 10, 0, 5);אחזור מספר רנדומלי בתוך טווח מספרים
שורת קוד קצרה ויעילה אשר תעזור לכם לנקות ערכים / מפתחות ערכים ריקים בתוך מערך קיים! שימו לב כי פונקציה זאת קיימת רק מג'אווה סקריפט גרסה 1.6.
exampleArray = exampleArray .filter(function(n){return n});;ניקוי מערך מערכים ריקים
פקודה קצרה ומהירה שמאפשרת להציג את כל הערכים בתוך מערך מסוים. שימו לב כי שימוש בפקודה זאת לא מגלה לכם אם יש או אין ערכים ריקים / מפתחות ריקים בתוך המערך (ראו פונקציה קודמת לצפייה במערך המלא). בנוסף, הסניפט הבא ברצף יאפשר לכם לנקות ערכים ריקים ממערך כך שכיסינו את כל הכיוונים.
alert(exmapleArray.join('\n'));הצגת כל הערכים בתוך מערך
סניפט קצר ושימושי שמאפשר החלפה של האתר אשר מוצג בתוך iFrame על ידי לחיצה על פריט ברשימה... אנו עושים זאת על ידי קביעת הערך של כל פריט בתור כתובת לאתר מסוים (ראו את הדוגמה המצורפת).
<script type="text/javascript"> // GRAB CLICK AND ASSIGN TO IFRAME jQuery(function($){ $('div#loadFrame').click(function() { var framesrc = $(this).attr('srcval'); var iframeid = $('iframe#testerframe'); $('iframe#testerframe').attr('src', framesrc); }); }); </script>
<div> <ul> <li><div id="loadFrame" srcval="https://sagive.co.il">שגיב SEO קידום אתרים בגוגל</a></li> <li><div id="loadFrame" srcval="https://sagive.co.il/forum/">פורום קידום אתרים</a></li> <li><div id="loadFrame" srcval="https://moz.com/community/q">שאלות ותשובות בSeomoz</a></li> <li><div id="loadFrame" srcval="https://forums.seochat.com/">פורומים למקדמי אתרים בseochat</a></li> <li><div id="loadFrame" srcval="https://seoforums.org/">פורומים למקדמי אתרים SeoForums</a></li> </ul> </div> <iframe src="" id="testerframe" frameborder="0" style="height: 500px; width: 100%;"></iframe>שינוי תוכן IFRAME בקליק
הסניפט הבא הוא האחראי לשינויים בצורה, ברקע ואפילו בתמונת הרקע שאנו רואים בשדות קלט (בטפסים רבים). דוגמה טובה היא טופס בו אנו מקלידים שם ולאחר מכן השדה של השם הופך לירוק דהיינו הטקסט ארוך מספיק או כל התניה אחרת שקבע מנהל האתר. כלומר הסניפט מגיב לשינוי בתוך שדה הקלט עם פקודה נלווית. בדוגמה המצורפת הרקע של שדה הקלט הופך לירוק כדי להמחיש שהערך תקין.
jQuery(function($){ // TURN FIELDS TO GREEN ON CHANGE ////////////////////////// $('input#senderName').change(function() { var sender_name = $('input#senderName').val().length; if(sender_name > 4) { $('input#senderName').css('background', '#DEF0CC'); } }); });
<input type="text" id="senderName" />שינוי שדה קלט בעת הקלדה
סניפט מ-ע-ו-ל-ה שמאפשר פתרון לבעיה ותיקה בימים! בעזרת סניפט זה תוכלו לתת לכל הפריטים בתפריט עליון (לדוגמה, יכול להיות כל תפריט) רוחב זהה בצורה אוטומטית על ידי ספירת כמות הפריטים באותו תפריט וחלוקה למאה וכל זאת ללא מגע אדם!
jQuery(function($){ var itemscount = $("#top-menu li").size(); var percentage = 100 / itemscount; $("#top-menu > li").css('width', percentage+'%'); });
<ul id="top_menu"> <li>first item</li> <li>second item</li> <li>third item</li> <li>fourth item</li> <li>last item</li> </ul>רוחב אוטומטי בתפריט לפי כמות פריטים
פונקציה פשוטה שמאפשרת לנו לקשור פעולה כלשהי למעבר עכבר מעל DIV מסוים (או כל אלמנט אחר) וגם להגיב כאשר העכבר נע החוצה מאיזור המטרה.
$("div#example").hover( function () { $('div.tooltip').slideToggle(); }, function () { $('div.tooltip').slideToggle(); } );
<div id="example">רחף מעלי</div> <div class="tooltip" style="display: none;">ואני פתאום מופיע!</div>פעולה כתגובה למעבר עכבר
סניפט / הדגמה נחמדה מאוד שעוזרת להציג קופסת אוהדים של פייסבוק בצורה מקורית ומדליקה. פשוט לוחצים על התמונה ומופיעה קופסת אוהדים של הדף שלנו בפייסבוק (פרגנו עם LIKE אם אהבתם)
$('div#buttonDiv').click(function() { $('div#myLikeBox').slideToggle(); });
<div class="container"> <div id="buttonDiv"> <img src="https://farm6.staticflickr.com/5524/9215736042_4361cb091a.jpg" atl="Share the love"> </div> <div id="myLikeBox" class="dnone"> <iframe src="//www.facebook.com/plugins/likebox.php?href=https%3A%2F%2Fwww.facebook.com%2Fpages%2F%D7%A9%D7%92%D7%99%D7%91-%D7%A7%D7%99%D7%93%D7%95%D7%9D-%D7%90%D7%AA%D7%A8%D7%99%D7%9D%2F367441549333&width=350&height=290&show_faces=true&colorscheme=light&stream=false&show_border=true&header=true&appId=496531247081941" scrolling="no" frameborder="0" style="border:none; overflow:hidden; width:350px; height:290px;" allowTransparency="true"></iframe> </div> </div>
.dnone {display: none;} .container {width: 350px; margin: 0 auto;} #buttonDiv {margin-left: 10px; margin: 0px;} #myLikeBox {margin-top: -10px;}הצגת קופסת אהבתי בלחיצת כפתור
סניפט מעולה שעוזר להציג סיבות חיוביות למה כן ולמה לא לאיזושהיא שאלה (לבחירתכם). ממש קל להתאים לצרכים שלכם ועם 4 שורות קוד בjQuery קל ומהיר. אפשר כמובן לנצל את הסקריפט להציג מידע שונה ולשנות את המיקום של המידע. שימו לב יש לקנות את התמונות בדוגמה החיה כיוון שהן דורשות רשיון משתמש.
jQuery(function ($) { $('.thumbsupImg').on('click', function() { $('#thumbsup').slideToggle(200); $('#thumbsdown').slideUp(100); }) $('.thumbsdownImg').on('click', function() { $('#thumbsdown').slideToggle(200); $('#thumbsup').slideUp(100); }) });
<div class="container"> <div class="thumbs fleft"> <div width="76px"><a href="#" class="thumbsupImg"><img src="https://farm6.staticflickr.com/5331/9213587711_2722faa215_o.jpg" alt="Thumbs Down"></a></div> <div width="76px"><a href="#" class="thumbsdownImg"><img src="https://farm4.staticflickr.com/3710/9213587763_873ccf77cd_o.jpg" alt="Thumbs Down" /></a></div> </div> <div class="data fleft"> <div id="thumbsup" class="dnone reasons"> <ul> <li>Just cuz' its cool!</li> <li>Since your already here</li> <li>Why not actually</li> </ul> </div> <div id="thumbsdown" class="dnone reasons"> <ul> <li>You already got this</li> <li>You really must go</li> <li>You'd rather play starcraft.</li> </ul> </div> </div> </div>
.container {margin: 10%;} .thumbs {border: 1px solid #eee; width: 90px;} .reasons {padding: 10px 20px 10px 10px; background: #f3f3f3;} .dnone {display: none;} .fleft {float: left;}הצגת סיבות למה כן ולמה לא עם SlideToggle
קיימות מספר שיטות להציג את הערכים אשר נמצאים בתוך מערך אבל ממש לאחרונה חיפשתי דרך להציג מערך כמו שהוא מוצג בשפת PHP למטרות debugging (ניפוי שגיאות) וייצרתי את הפונקציה הבאה בעזרת מידע משלים ברשת. אז הנה - פונקציה פשוטה שתכתוב למסך / לדף את המערך בצורתו המקורית!
function print_array(arr) { for(var i=0;i<arr.length;i++){ document.write("<b>arr["+i+"] is </b>=>"+arr[i]+"<br>"); } } // הדגמה של שימוש בפונקציה arrayPrint(exampleArray);הדפסת מערך בדומה לPHP
סניפט שימושי אשר נכתב בjavascript ולא דווקא בjquery ומונע מאתרים חיצוניים להציג את האתר שלכם בתוך iFrame. כל ניסיון להציג את האתר שלכם באיפריים יוביל לכל שהאתר שלכם יטען מחוץ לiFrame וכך ימנע "גניבה" של האתר שלכם או הצגה שלו בתוך iFrame. קחו בחשבון שזה עלול להיות בעוכריכם כיוון שאותו אדם אשר בחר להציג את האתר שלכם עלול לוותר על הצגת האתר שלכם לגמרי אז לשיקולכם. לטעמי זה שימושי. בנוסף אתם יכולים לכלול סקריפט קטן זה רק בדף הבית וכך לאפשר הצגה של עמודים פנימיים בתוך iFrame.
if ( window.self !== window.top ) { window.top.location.href=window.location.href; }מניעת גנבי iFrame
סניפט ממש קצרצר בגודל חצי שורה אבל שימושי (ונפוץ בשימוש) אשר מאפשר לבדוק אם אלמנט מסוים כלומר DIV או שדה טקסט או כל אלמנט אחר חבוי כלומר עם חל עליו display:none.
$(element).is(":visible");
// איך משתמשים if($(element).is(":visible")) { alert('אתה יכול לראות את זה!'); }
בדיקה אם אלמנט חבויסניפט שימושי לבוני אתרים שיעזור לכם להמיר קוד HEX (קוד צבע סטנדרטי) של בניית אתרים עם קוד RGBA בקלות ובעזרת ג'אווה סקריפט. צירפתי את הקוד המלא של הדוגמה כמו גם דוגמה חיה כך שזה צריך להיות קל ליישום. כלי שימושי בנושא ניתן למצוא כאן: [lists style="minidoc" classes=""] [/lists]
function convertHex(hex,opacity){ hex = hex.replace('#',''); r = parseInt(hex.substring(0,2), 16); g = parseInt(hex.substring(2,4), 16); b = parseInt(hex.substring(4,6), 16); result = 'rgba('+r+','+g+','+b+','+opacity/100+')'; return result; } // דוגמה לשימוש var result = convertHex('#cccccc',100);המרת קוד צבע HEX לRGBA