Προς το περιεχόμενο

Προτεινόμενες αναρτήσεις

Δημοσ. (επεξεργασμένο)

Πφφφ έτσι όπως μου είπες το τρέχει κανονικά και μου εμφανίζει τα σωστά console logs... μήπως  υπάρχει τρόπος να γίνει destroy η συνάρτηση countdown() που τρέχει το counter;

 

Επίσης δοκίμασα να έχω τη δήλωση της μεταβλητής στο αρχικό αρχείο και να κάνω ότι κάνω στο αρχείο που εκτελέιτε...

τρέχει κανονικά το clear αλλά αυτό συνεχίζει και τρέχει :D

Πολύ μου αρέσει όταν δε καταλαβαίνω τίποτα αχαχαχαχαχα

 

Στη δεύτερη περίπτωση κατάλαβα ότι παρόλο που γίνεται clear... ή συνάρτηση countdown εφόσον έχει προλάβει να τρέξει το ξανακαλεί και πάει λέγοντας οπότε τζίφος η δουλειά... άρα μόνο αν βρεθεί τρόπος να σταματάμε τη συνάρτηση :P

 

Σκέφτηκα έναν τρόπο να έχω μια μεταβλητή που μόλις γίνει true να γίνεται return στη countdown και clearTimeout(counter) αλλά και πάλι δεν έχω πρόσβαση στη μεταβλητή... εκτός και αν σβήσω όλο τον javascript κώδικα του αρχείου που καλείται με την load() ... τι μπορεί να φταίει;;; :(

Επεξ/σία από rafinos
Δημοσ. (επεξεργασμένο)

Πφφφ έτσι όπως μου είπες το τρέχει κανονικά και μου εμφανίζει τα σωστά console logs... μήπως  υπάρχει τρόπος να γίνει destroy η συνάρτηση countdown() που τρέχει το counter;

 

Επίσης δοκίμασα να έχω τη δήλωση της μεταβλητής στο αρχικό αρχείο και να κάνω ότι κάνω στο αρχείο που εκτελέιτε...

τρέχει κανονικά το clear αλλά αυτό συνεχίζει και τρέχει :D

Πολύ μου αρέσει όταν δε καταλαβαίνω τίποτα αχαχαχαχαχα

 

Τρέχει το clear γιατί δεν είναι undefined η counter, όμως δεν είναι και η counter που αντιστοιχεί στο timeout. Για κάποιο λόγο που θέλει σκάλισμα για να καταλάβω, δεν υπάρχει στο ίδιο scope η counter από το άλλο αρχείο ή δεν έχει δηλωθεί το var counter πριν τρέξει το cleartimeout (οι μεταβλητές στην js πρέπει να δηλωθούν πριν τις αναφέρεις, οι function μπορεί να είναι και μετά στο ίδιο script).

 

(Καλού κακού, κάνε και μια δοκιμή: χωρίς html / head / body στο game.html και με πιο σύγχρονη έκδοση jQuery πάντως)

 

Μια άλλη δοκιμή θα ήταν να βάλεις το event handler στο child document (game.html), που θα αναφέρεται όμως σε στοιχείο που δεν υπάρχει στο δικό του dom οπότε θέλει ένα κολπάκι:

$(document).on("click", ".menu li",function() { //εδώ βάλε όμως μόνο τα menu items που δεν είναι για το game load και δες και τι άλλα event handler υπάρχουν για αυτά
  clearTimeout(counter);
});

EDIT:

Τώρα που το σκέφτομαι, δοκίμασε και κάτι τέτοιο:

$('#play_game').load('game/game.html', function(){
		$(document).on('click', '.menu li', function(e){
			e.preventDefault();
			clearTimeout(counter);
			console.log('cleared')
		})
	});
Επεξ/σία από alou
Δημοσ.

Νομίζω ότι με το δεύτερο τρόπο (μέσα στο game.html) δούλεψε :D

(τον πρώτο τρόπο δεν τον δοκίμασα καν :P γιατί μου φάνηκε σίγουρο ότι θα δουλέψει το δεύτερο αχαχαχα)

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

Δημιουργήστε ένα λογαριασμό ή συνδεθείτε για να σχολιάσετε

Πρέπει να είστε μέλος για να αφήσετε σχόλιο

Δημιουργία λογαριασμού

Εγγραφείτε με νέο λογαριασμό στην κοινότητα μας. Είναι πανεύκολο!

Δημιουργία νέου λογαριασμού

Σύνδεση

Έχετε ήδη λογαριασμό; Συνδεθείτε εδώ.

Συνδεθείτε τώρα
  • Δημιουργία νέου...