תקוע בבעיה בJS מספר ימים - תכנות - HWzone פורומים
עבור לתוכן
  • צור חשבון

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


paveln1234

Recommended Posts

שלום רב!

אני תקוע מספר ימים על בעיה של החלפת , בכל מקום שקראתי משום מה כולם ממליצים על בנית מערך של מוכן מראש ומתוכו לבחור בכל פעם תמונה, אני החלתתי לבנות את זה בצורה אחרת כל התמונות בתקיה יהיו במספרים מ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++;
}
}

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

קישור לתוכן
שתף באתרים אחרים

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

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

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

כלומר

new_image=hel_a+i+helb;

קישור לתוכן
שתף באתרים אחרים

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

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

לא ברור לי למה הם משתמשים במערך אם אפשר ליצור לולאת 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 ותבין. שים לב ששתי הפונקציות שונות זו מזו (אחת עובדת על 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 אם אני לא טועה

קישור לתוכן
שתף באתרים אחרים

ארכיון

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

×
  • צור חדש...