Σφαλματα σε 3 κωδικες Javascript!!

Κώδικας, πληροφορίες, ερωτήσεις και απαντήσεις σχετικές με την JavaScript.

Συντονιστές: WebDev Moderators, Super-Moderators

Απάντηση
geotheod
Δημοσιεύσεις: 54
Εγγραφή: 19 Απρ 2005 13:12
Τοποθεσία: Αθήνα
Επικοινωνία:

Σφαλματα σε 3 κωδικες Javascript!!

Δημοσίευση από geotheod » 15 Μάιος 2005 19:41

Παιδια εχω προβλημα σε συνολικα 3 κωδικες Javascript! Aν μπορει καποιος να με βοηθησει (να εντοπισει τα σφαλματα και αν μπορει να μου προτεινει καποιο πιο ευκολο τοπο υλοποιησης τους) θα του ειμαι ευγνομων.
1. Ο πρωτος κωδικας αφορα την εισαγωγη ημερομηνιας και ωρας σε μια σελιδα html. Ειδα παρακατω ένα post που μιλαγε για το ιδιο θεμα αλλα ο τροπος υλοποιησης ηταν εντελως διαφορετικος και να σας πω την αληθεια δεν τον πολύκαταλαβα. Ο κωδικας ο δικος μου που δεν μου τρεχει είναι :

Κώδικας: Επιλογή όλων

<html>
<head>
<script>
var timeStr,dateStr;
function clock&#40;&#41;
&#123;
now=new Date&#40;&#41;;
hours=now.getHours&#40;&#41;;
minutes=now.getMinutes&#40;&#41;;
seconds=now.getSeconds&#40;&#41;;
timeStr=""+hours&#40;&#41;;
timeStr+=&#40;&#40;minutes<10&#41;? "&#58;0"&#58;"&#58;"+minutes;
timeStr+=&#40;&#40;seconds<10&#41;? "&#58;0"&#58;"&#58;"&#41;+seconds;
document.clock.time.value=timeStr;

date=now.getDate&#40;&#41;;
month=now.getMonth&#40;&#41;;
year=now.getYear&#40;&#41;;

dateStr=""+date;
dateStr+="/"+month+"/"+year;
document.clock.date.value=dateStr;
</script>
</head>

<body onLoad="Clock&#40;&#41;">
	<form name="Clock">
		
		Time&#58;
		<input type="text" name="time" size="8" value=""><br>
		
		Date&#58;
		<input type="text" name="date" size="10" value="">
	</form>
</body>
</html>

2. Ο δευτερος μικρος κωδικας αφορα την δυνατοτητα να περιεχει η σελιδα μια φωτογραφια και όταν περναει το ποντικι από πανω της αυτή να αλλαζει σε μια άλλη. Ο κωδικας είναι:

Κώδικας: Επιλογή όλων

<html>
 <body>
 <a href="mypage.html"
   onmouseOver='im.src="image2.jpg"'
   onmouseOut= 'im.src="image1.jpg"'>
   <img src="image1.jpg"></a>
 </body>
</html>
3. Ο τριτος και τελευταιος κωδικας αφορα την δυνατοτητα προφωρτωσης μιας φωτογραφιας σε μια σελιδα ετσι ώστε μολις ανοιξει η σελιδα να εμφανιζεται μια εικονα αμεσως μολις περναμε το ποντικι πανω από εκεινη. Ο κωδικας είναι:

Κώδικας: Επιλογή όλων

<html>
<head>
<script>
function preloader&#40;&#41;
&#123;
heavyImage=new Image&#40;&#41;;
heavyImage.src="image1.jpg";
&#125;
</script>
</head>

<body onload="preloader&#40;&#41;">

<a href="#" onMouseOver="document.image1.src='image1.jpg'">
<img name="image1" src="image1.jpg"></a>
</body>
</html>
<html>
<head>
<script>
function preloader&#40;&#41;
&#123;
heavyImage=new Image&#40;&#41;;
heavyImage.src="image1.jpg";
&#125;
</script>
</head>

<body onload="preloader&#40;&#41;">

<a href="#" onMouseOver="document.image1.src='image1.jpg'">
<img name="image1" src="image1.jpg"></a>
</body>
</html>
Αυτοι οι 3 κωδικες είναι παιδια! Τους δοκιμαζω και δεν μου τρεχουν με τιποτα! Και να φανατστειτε μας τους εδωσε και «καθηγητης»!! Αυτό που με ενδιαφερει περισσοτερο είναι να δω που βρισκονται τα λαθη καθως επισης και αν τα παρακαπω προγραμματα υλοποιουνται και με διαφορετικους (κατά προτιμηση πιο απλους και ευκολους) τροπους!

Σας ευχαριστω για το χρονο σας..

Άβαταρ μέλους
agrippas
Script Master
Δημοσιεύσεις: 494
Εγγραφή: 18 Ιούλ 2002 14:52
Τοποθεσία: Υπερπέραν
Επικοινωνία:

Σφαλματα σε 3 κωδικες Javascript!!

Δημοσίευση από agrippas » 15 Μάιος 2005 21:30

Στο 1 δεν κοίταξα γιατί δε σου δουλεύει, φαίνεται σωστό. Δες μια παραλλαγή:

Κώδικας: Επιλογή όλων

<html><body>
<form name="Clock">       
  Time&#58; <input type="text" name="timebox" size="8" value=""><br>
  Date&#58; <input type="text" name="datebox" size="10" value=""> 
</form>
<script type="text/javascript">
  var now = new Date&#40;&#41;;
  var dateStr = now.getDate&#40;&#41; + "/" + now.getMonth&#40;&#41; + "/" + now.getFullYear&#40;&#41;;
  var timeStr = now.getHours&#40;&#41; + &#40;&#40;now.getMinutes&#40;&#41; < 10&#41; ? "&#58;0" &#58; "&#58;"&#41; + now.getMinutes&#40;&#41; + &#40;&#40;now.getSeconds&#40;&#41; < 10&#41; ? "&#58;0" &#58; "&#58;"&#41; + now.getSeconds&#40;&#41;;
  document.Clock.datebox.value = dateStr;
  document.Clock.timebox.value = timeStr;
</script>
</body></html>
Στο 2 δεν έχεις βάλεις name στο <img> tag οπότε λογικό είναι να μην το βρίσκει η JavaScript. Το σωστό είναι:

Κώδικας: Επιλογή όλων

<html><body>
<a href="mypage.html" onmouseOver='im.src="image2.jpg";' onmouseOut= 'im.src="image1.jpg";'>
  <img src="image1.jpg" name="im">
</a>
</body></html>
Στο 3 τώρα δε χρειάζεται functions με preloaders και κολοκύθια. Απλά βάλε αμέσως μετά το <body> το εξής:

Κώδικας: Επιλογή όλων

<script type="text/javascript">
var img1 = new Image&#40;"path/image1.jpg"&#41;;
var img2 = new Image&#40;"path/image2.jpg"&#41;;
...
</script>
Θα φορτωθούν μια χαρά και θα μπορείς να αναφέρεσαι σ' αυτά μέσω JavaScript με img1, img2 κλπ κανονικά ως μεταβλητές.

Άβαταρ μέλους
skeftomilos
Script Master
Δημοσιεύσεις: 2888
Εγγραφή: 07 Ιαν 2005 07:22
Τοποθεσία: Αθήνα

Σφαλματα σε 3 κωδικες Javascript!!

Δημοσίευση από skeftomilos » 15 Μάιος 2005 22:38

Το πρώτο script είχε αρκετά λαθάκια. Για το debugging χρειάστηκα περίπου πέντε λεπτά, με τη βοήθεια της JavaScript console. Πάντως ο κώδικας είναι πιο ευανάγνωστος όταν έχει εσοχές (indentation).

Κώδικας: Επιλογή όλων

<html>
  <head>
    <script>
      var timeStr,dateStr;
      function clock&#40;&#41;
      &#123;
        now = new Date&#40;&#41;;
        hours = now.getHours&#40;&#41;;
        minutes = now.getMinutes&#40;&#41;;
        seconds = now.getSeconds&#40;&#41;;
        timeStr = "" + hours;
        timeStr += &#40;minutes<10&#41;? "&#58;0" &#58; "&#58;" + minutes;
        timeStr += &#40;seconds<10&#41;? "&#58;0" &#58; "&#58;" + seconds;
        document.clock.time.value = timeStr;

        date = now.getDate&#40;&#41;;
        month = now.getMonth&#40;&#41;;
        year = now.getYear&#40;&#41;;

        dateStr = "" + date;
        dateStr += "/" + month + "/" + year;
        document.clock.date.value = dateStr;
      &#125;
    </script>
  </head>
  <body onLoad="clock&#40;&#41;">
    <form name="clock">
      Time&#58;
      <input type="text" name="time" size="8" value=""><br>
      Date&#58;
      <input type="text" name="date" size="10" value="">
    </form>
  </body>
</html>
Ο τρίτος κώδικας αναφέρεται τρεις φορές στην εικόνα image1.jpg. Μήπως υπάρχει κάπου και μία εικόνα image2.jpg που πρέπει να γίνει preload?

Κώδικας: Επιλογή όλων

<html>
  <head>
    <script>
      function preloader&#40;&#41;
      &#123;
        var heavyImage = new Image&#40;&#41;;
        heavyImage.src = "image2.jpg";
      &#125;
    </script>
  </head>
  <body onload="preloader&#40;&#41;">
    <a href="#" onMouseOver="document.image1.src='image2.jpg'">
    <img name="image1" src="image1.jpg"></a>
  </body>
</html>
The pure and simple truth is rarely pure and never simple. Ο μη νους δε σκέπτεται μη σκέψεις για το τίποτα.

geotheod
Δημοσιεύσεις: 54
Εγγραφή: 19 Απρ 2005 13:12
Τοποθεσία: Αθήνα
Επικοινωνία:

Σφαλματα σε 3 κωδικες Javascript!!

Δημοσίευση από geotheod » 15 Μάιος 2005 23:55

Tα θερμοτατα μου ευχαριστω παιδια! Να ειστε καλα...

Απάντηση

Επιστροφή στο “JavaScript και Frameworks”

Μέλη σε σύνδεση

Μέλη σε αυτήν τη Δ. Συζήτηση: Δεν υπάρχουν εγγεγραμμένα μέλη και 0 επισκέπτες