עבור לתוכן

תקוע בבעיה בJS מספר ימים

Featured Replies

פורסם

שלום רב!

אני תקוע מספר ימים על בעיה של החלפת תמונות, בכל מקום שקראתי משום מה כולם ממליצים על בנית מערך של תמונות מוכן מראש ומתוכו לבחור בכל פעם תמונה, אני החלתתי לבנות את זה בצורה אחרת כל התמונות בתקיה יהיו במספרים מ1-10 (אפשר גם הרבה יותר) ואז בעזרת פונקציה של גאווה סקריפט אני פשוט מחליף כל פעם תמונה על פי מספר שיש בלולאה

משום מה זה לא עובד .

צירפתי את הקוד של כל העמוד

<html>

<head>

<title>new</title>

<meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1">

<link rel="stylesheet" type="text/css" href="style.css" />

<script language="javascript1.2">

var hel_a = "images/";

var delay = 2000;

var counter = 0

function swapimges (){

var i = 1;

while (i<5)

{

document.onet.src= "images/" i ".png".src;

i ;

}

}

</script>

</head>

<body onLoad="setTimeout(swapimges(),delay">

<div id="page">

<div id="header">

<img src="images/top.png" alt="top"/>

<ul id="nav">

<li class="li"> <a href="tmoonot.html" target="middel" onmouseover="document.image_fore.src='images/link44.png'" onmouseout="document.image_fore.src='images/link4.png'"> <img name="image_fore" src="images/link4.png" alt="top"></a></li>

<li class="li"> <a href="#" target="middel" onmouseover="document.image_two.src='images/link33.png'" onmouseout="document.image_two.src='images/link3.png'"> <img name="image_two" src="images/link3.png" alt="top"></a></li>

<li class="li"><a href="#" onmouseover="document.image_three.src='images/link22.png'; return false;" onmouseout="document.image_three.src='images/link2.png'; return false;"> <img name="image_three" src="images/link2.png" alt="top"></a></li>

<li class="li"><a href="#" onmouseover="document.image_one.src='images/link11.png'" onmouseout="document.image_one.src='images/link1.png'"> <img name="image_one" src="images/link1.png" alt="top"></a></li>

</ul>

<>

<div id="middel">

<ul id="middel_nav" class="block">

<li><img name="onet" src="images/1.png")></li>

<li><img src="images/2.png"></li>

<li><img src="images/3.png"></li>

<li><img src="images/4.png"></li>

<li><img src="images/5.png"></li>

</ul>

<>

<div id="footer">

<img src="images/botton.jpg">

<>

<>

</body>

</html>




אשמח אם תוכלו איך שהוא לעזור לי

<!DOCTYPE HTML>

פורסם

תתקן את ההודעה שלך. תג הקוד לא במקום.

מה בידיוק הבעיה שאתה נתקל בה?

פורסם
  • מחבר

זה פשוט לא עובד ולא ברור לי למה? זה מחרפן אותי ממש.

התמונה


<li><img name="onet" src="images/1.png")></li>

אמורה להתחלף בתוך לולאה (עד המספר 5 כרגע הכוונה בעתיד להפוך את זה לעד מספר הקבצים בתקיה) זה אמור להחליף את הsrc של התמונה כאשר המספר בלולאה מציין את המספר קובץ

 document.onet.src= "images/" + i + ".png".src;

ואני לא מצליח להבין למה זה לא עובד אני כבר כמה ימים שובר את הראש על זה, קראתי בגוגל המון וראיתי את הקודים כולם משום מה מתעקשים על מערכים שהם מכניסים לתוכם את התמונות ידנית ולא ברור לי למה?

אשמח לכל דבר

פורסם

א. תשתמש ב-document.getElementsByName במקום לעשות document.onet. שים לב שהוא מחזיר לך רשימה של כל האלמנטים עם השם הזה, לכן עדיף להשתמש ב-id במקום name ואז ב-document.getElementById.

ב. מה זה ה-src. שיש לך בסוף השורה?

פורסם
  • מחבר

שיניתי את זה טיפה זה עדין לא עובד.

הפונקציה עכשיו נראת ככה


function swapimges()
{
var new_image = hel_a+i+hel_b;
while (i<5)
{
new_image = hel_a + i + hel_b;
document.getElementsByid(onet).src = new_image;
i++;
}
}

זה עדין לא עובד לי איפה אני טועה?

פורסם

א. יש לך שגיאות כתיב ב-getElementById.

ב. אתה לא משתמש בו נכון.

פורסם

מזה hel_a ומזה hel_b? תשתמש ב for ולא ב while.

פורסם
  • מחבר

א. hel_a= התקיה של התמונות

hel_b = הסיומת של הקובץ

הכוונה שלי היא ליצור ע"י לולאה מצב שבו כל פעם התמונה תתחלף על פי ה I של הלולאה.

כלומר

new_image=hel_a+i+helb;

פורסם

א.

מזה hel_a ומזה hel_b? תשתמש ב for ולא ב while.

ב. אתה לא צריך כל פעם לאתחל ערך new_image, תכניס אותו ישר ל src.

פורסם
  • מחבר

קודם כל תודה רבה לכל העונים

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

לא ברור לי למה הם משתמשים במערך אם אפשר ליצור לולאת for פשוטה שבה ה I הוא בעצם המספר תמונה שתוצג במקום של התמומה onet

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

"onet.src="imeges/4.png המשתנים HEL הם משתנים אשר בתוכם אני שם את התקיה ש

var hel_a = "images/";

var hel_b = ".png";

כרגע הלולאה נראת בצורה הבאה





function swapimges()
{
var new_image = string ;
var hel_a = "images/";
var hel_b = ".png";
for ( i=1; i<=5; i++)
{
new_image = hel_a + i + hel_b;
alert(new_image);
document.getelementByname(onet).src = new_image;

}
}

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

אני באמת ישמח לכל עזרה אפשרית

פורסם

קראת את ההודעה שלי?

א. יש לך שגיאות כתיב ב-getElementById.

ב. אתה לא משתמש בו נכון.

אז עכשיו יש לך שגיאות כתיב ב-getElementsByName ואתה עדיין לא משתמש בו נכון.

פורסם
  • מחבר

אשמח אם תוכל להסביר לי את הטעות שלי בבקשה

פורסם

גם התחביר עצמו ב JS לא נכון.

אין דבר כזה:


var x = string;

הוא הסביר את הטעות שלך בעמוד הקודם, תקרא.

פורסם

אשמח אם תוכל להסביר לי את הטעות שלי בבקשה

חפש בגוגל דוגמאות לשימוש ב-getElementById או getElementsByName ותבין. שים לב ששתי הפונקציות שונות זו מזו (אחת עובדת על id ומחזירה אלמנט בודד, השנייה עובדת על name ומחזירה מערך של אלמנטים) אז אל תצפה שדוגמה שעובדת עם אחת מהן תעבוד עם האחרת.

פורסם
  • מחבר

תודה לכולם עכשיו זה עובד....


function swapimges()
{
var hel_a = "images/";
var hel_b = ".png";
new_image = document.getElementById("onet");


var i = 0;


for ( i=1; i<=5; i++)
{
new_image.src = hel_a+i+hel_b
}
}

עכשיו נשאר לי לגרום לזה להחליף את התמונות כל 3 שניות ...settimeout אם אני לא טועה

ארכיון

דיון זה הועבר לארכיון ולא ניתן להוסיף בו תגובות חדשות.

דיונים חדשים