Προσπάθεια για preload με js. - S.O.S.

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

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

Απάντηση
Άβαταρ μέλους
kounavi
Δημοσιεύσεις: 18
Εγγραφή: 08 Απρ 2011 18:28
Επικοινωνία:

Προσπάθεια για preload με js. - S.O.S.

Δημοσίευση από kounavi » 12 Απρ 2011 00:58

Προσπάθησα να κάνω preload τις εικόνες στο www.mygreekchef.com με τους παρακάτω τρόπους αλλά δεν είχα αποτέλεσμα στην πράξη. Μπορεί κανείς να βοηθήσει;

1η προσπάθεια:

function preloadImages(/*...*/)
{
var img=new Image();
for(i=0; i<arguments.length; i++)
{
img.src=arguments;
}
}

preloadImages("..\images\sintagi1.jpg",
"..\images\sintagi1_hover.jpg",
"..\images\sintagi2.jpg",
"..\images\sintagi2_hover.jpg"
);



2η προσπάθεια:

function preloader() {
if (document.images) {

var img1 = new Image();
var img2 = new Image();
var img3 = new Image();
var img4 = new Image();

img1.src = "http://mygreekchef.com/images/sintagi1.jpg";
img2.src = "http://mygreekchef.com/images/sintagi1_hover.jpg";
img3.src = "http://mygreekchef.com/images/sintagi2.jpg";
img4.src = "http://mygreekchef.com/images/sintagi2_hover.jpg";
}
}

function addLoadEvent(func) {
var oldonload = window.onload;
if (typeof window.onload != 'function') {
window.onload = func;
} else {
window.onload = function() {
if (oldonload) {
oldonload();
}
func();
}
}
}
addLoadEvent(preloader);

Άβαταρ μέλους
cherouvim
Script Master
Δημοσιεύσεις: 3137
Εγγραφή: 13 Ιούλ 2005 22:56
Τοποθεσία: Athens, Greece
Επικοινωνία:

Προσπάθεια για preload με js. - S.O.S.

Δημοσίευση από cherouvim » 12 Απρ 2011 13:22

Ξέχνα αυτό το τρόπο και δες css sprites.
http://www.alistapart.com/articles/sprites

Άβαταρ μέλους
kounavi
Δημοσιεύσεις: 18
Εγγραφή: 08 Απρ 2011 18:28
Επικοινωνία:

Προσπάθεια για preload με js. - S.O.S.

Δημοσίευση από kounavi » 12 Απρ 2011 15:26

Δηλαδή πρέπει να τις φορτώσω σε κάθε σελίδα χωριστά; Όλες μαζί δε γίνεται να τις φορτώσω από την αρχή;

Άβαταρ μέλους
korgr
Honorary Member
Δημοσιεύσεις: 5067
Εγγραφή: 07 Οκτ 2008 18:30
Τοποθεσία: Corinth
Επικοινωνία:

Προσπάθεια για preload με js. - S.O.S.

Δημοσίευση από korgr » 12 Απρ 2011 15:35

kounavi έγραψε:Δηλαδή πρέπει να τις φορτώσω σε κάθε σελίδα χωριστά; Όλες μαζί δε γίνεται να τις φορτώσω από την αρχή;
Έκανες καν τον κόπο να διαβάσεις το link που σου έδωσε ο cherouvim;

Άβαταρ μέλους
kounavi
Δημοσιεύσεις: 18
Εγγραφή: 08 Απρ 2011 18:28
Επικοινωνία:

Προσπάθεια για preload με js. - S.O.S.

Δημοσίευση από kounavi » 12 Απρ 2011 18:44

korgr έγραψε:
kounavi έγραψε:Δηλαδή πρέπει να τις φορτώσω σε κάθε σελίδα χωριστά; Όλες μαζί δε γίνεται να τις φορτώσω από την αρχή;
Έκανες καν τον κόπο να διαβάσεις το link που σου έδωσε ο cherouvim;
Ναι. Και αν κατάλαβα καλά (τα αγγλικά μου δεν είναι και τα καλύτερα) δεν μπορείς να κάνεις έτσι preload όλες τις εικόνες της σελίδας. Κάνω λάθος;

Άβαταρ μέλους
korgr
Honorary Member
Δημοσιεύσεις: 5067
Εγγραφή: 07 Οκτ 2008 18:30
Τοποθεσία: Corinth
Επικοινωνία:

Προσπάθεια για preload με js. - S.O.S.

Δημοσίευση από korgr » 12 Απρ 2011 19:57

Τα sprites δεν αφορούν preloading images, γιατί δεν χρειάζεται.
Έχεις μόνο ΕΝΑ image που περιέχει όλα σου τα εικονίδια και εμφανίζεις αυτό που θες μέσω css positioning

Άβαταρ μέλους
kounavi
Δημοσιεύσεις: 18
Εγγραφή: 08 Απρ 2011 18:28
Επικοινωνία:

Προσπάθεια για preload με js. - S.O.S.

Δημοσίευση από kounavi » 13 Απρ 2011 07:46

Αυτό το άλλαξα στα κουμπιά που χρησιμοποιώ και είναι εντάξει. Ευχαριστώ cherouvim.

Για τα png που έχω πάνω από κάθε συνταγή και αργεί πολύ να τα φορτώσει, μπορώ να κάνω κάτι;

Για παράδειγμα εδώ: http://www.mygreekchef.com/tyropita.php

(Για τη φωτογραφία κάτω από το nav menu μιλάω.)

Άβαταρ μέλους
cherouvim
Script Master
Δημοσιεύσεις: 3137
Εγγραφή: 13 Ιούλ 2005 22:56
Τοποθεσία: Athens, Greece
Επικοινωνία:

Προσπάθεια για preload με js. - S.O.S.

Δημοσίευση από cherouvim » 13 Απρ 2011 08:02

Η φωτογραφία κάτω από το menu παρά το οτι είναι μικρή σε διαστάσεις πιάνει πάρα πολύ χώρο (64kb). Για το μέγεθος της αλλά και για αυτό που δείχνει πρέπει να στοχεύσεις σε κάτι της τάξης των 8-10kb. Μάθε το save for web του Photoshop.

Επίσης βάλε Yahoo YSlow και Google Page Speed στο firebug (firefox) για να δεις τι άλλο παίρνει βελτίωση.

nbc
Honorary Member
Δημοσιεύσεις: 526
Εγγραφή: 05 Σεπ 2009 20:12
Επικοινωνία:

Προσπάθεια για preload με js. - S.O.S.

Δημοσίευση από nbc » 13 Απρ 2011 10:20

Όπως λέει ο cherouvim, η τυρόπιτα - όπως την έχεις - είναι 65KB. Αν σώσεις ξεχωριστά το κοινό background (note) σε png και τη φωτό αυτή καθ'αυτή σε jpeg-high θα γίνει 6+9=15KB. Η διαφορά είναι μεγάλη. Χώρια που το png θα φορτωθεί μια φορά και θα cache-αριστεί από τον browser, οπότε σε κάθε συνταγή θα φορτώνει 9άρια αντί 65άρια.

Άβαταρ μέλους
kounavi
Δημοσιεύσεις: 18
Εγγραφή: 08 Απρ 2011 18:28
Επικοινωνία:

Προσπάθεια για preload με js. - S.O.S.

Δημοσίευση από kounavi » 13 Απρ 2011 11:14

Ok. Ευχαριστώ πολύ.

Απάντηση

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

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

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