scrolling με backbone

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

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

Απάντηση
Serghio
Δημοσιεύσεις: 451
Εγγραφή: 08 Φεβ 2011 19:20
Τοποθεσία: Περιστέρι

scrolling με backbone

Δημοσίευση από Serghio » 09 Μαρ 2015 11:33

θέλω να πετύχω το effect αυτο που βλέπετε με αυτο plugin alvarotrigo.com/fullPage/

To θέμα είναι μπορώ να το πετύχω με backbone μονο ή χρειάζεται να καταφύγω στην χρήση ενός plugin σαν και το παραπάνω;

Το effect αυτο βρισκουμε σε πολλά single page applications.

sibas
Honorary Member
Δημοσιεύσεις: 1851
Εγγραφή: 21 Φεβ 2003 01:21
Τοποθεσία: Μια εδώ.. Μια εκεί.. Σήμερα είμαι εδώ!!!
Επικοινωνία:

scrolling με backbone

Δημοσίευση από sibas » 10 Μαρ 2015 10:12

εγώ πάντως θα έβαζα κάτι σαν και αυτό αντί να βάλω ένα αρχείο 62.249kb

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

$("a[href='#section1']").click(function(){$("html, body").animate({scrollTop:0},'slow');return false;});

alou
Script Master
Δημοσιεύσεις: 1374
Εγγραφή: 24 Αύγ 2007 19:52
Επικοινωνία:

scrolling με backbone

Δημοσίευση από alou » 10 Μαρ 2015 14:26

Υποθέτοντας ότι ήδη χρησιμοποιεί jQuery, η λύση θα μπορούσε όντως να είναι πιο απλή

http://www.freestuff.gr/forums/viewtopi ... c&start=15

Όμως, υπάρχουν άλλα θέματα που πρέπει να λύσεις πρώτα στο μυαλό σου και μετά στην πράξη.

Το one page app δε σημαίνει (απαραίτητα) ότι είναι ένα τεράστιο σεντόνι που σκρολάρει. Αν χρησιμοποιείς κάποιο mv* framework δημιουργείς views, models και χωρίς refresh αλλάζεις αυτό που δείχνει και πιθανώς το state της εφαρμογής. Αν είναι κάτι τέτοιο που θες, δεν ψάχνεις με τις σωστές προδιαγραφές.

Αν θες ακριβώς αυτό που δέιχνεις και θα παραχθεί ένα σεντόνι από full height / width sections τότε δεν χρειάζεσαι μάλλον backbone ή κάποιο άλλο framework.

Αν είναι κάτι που συνδυάζει και τα 2 (πχ πολλά full height section αλλά με models / controllers και επομένως ανάγκη mvc) πρέπει να σκεφτείς πως θα ενσωματώσεις τη λογική της απεικόνισης με τη λογική των δεδομένων, ώστε οι μέθοδοι του framework να έχουν γνώση της λογικής του dom manipulation (που κάνει στη συγκεκριμένη περίπτωση το jQuery).

Serghio
Δημοσιεύσεις: 451
Εγγραφή: 08 Φεβ 2011 19:20
Τοποθεσία: Περιστέρι

scrolling με backbone

Δημοσίευση από Serghio » 10 Μαρ 2015 16:34

Mπεδεύτηκα λίγο...ναι χρησιμοποιώ jquery....ένα αυτό.
2ον....χρησιμοποιώ backbone με models και views.

Γιατί λοιπόν λες οτι δεν ψάχμω με τις σωστές προδιαγραφές...

Η λογική μου ειναι η εξής:
θα έχω 2 backbone views...ας πουμε οτι ο χρηστης ειναι στην σελίδα που βλέπει μπροστά του το ένα view....o σκοπός είναι να κάνει κλικ σε ένα κουμπί/σύνδεσμο και να εμφανιστεί μπροστά του το άλλο view με το scrolling effect που περιγράφω.

Προφανώς το HTML element που σχετίζεται με το εν λόγω view υπάρχει ήδη στην σελίδα αλλά ειναι hidden.
Οπότε με το που πατιέται το κουμπι/σύνδεσμος θα πρέπει να παύει να είναι hidden και όπως προανέφερα να εμφανίζεται με scrolling effect

Ελπίω να έγινα ακόμα πιο κατανοητός αυτη τη φορά.
alou έγραψε:Υποθέτοντας ότι ήδη χρησιμοποιεί jQuery, η λύση θα μπορούσε όντως να είναι πιο απλή

http://www.freestuff.gr/forums/viewtopi ... c&start=15

Όμως, υπάρχουν άλλα θέματα που πρέπει να λύσεις πρώτα στο μυαλό σου και μετά στην πράξη.

Το one page app δε σημαίνει (απαραίτητα) ότι είναι ένα τεράστιο σεντόνι που σκρολάρει. Αν χρησιμοποιείς κάποιο mv* framework δημιουργείς views, models και χωρίς refresh αλλάζεις αυτό που δείχνει και πιθανώς το state της εφαρμογής. Αν είναι κάτι τέτοιο που θες, δεν ψάχνεις με τις σωστές προδιαγραφές.

Αν θες ακριβώς αυτό που δέιχνεις και θα παραχθεί ένα σεντόνι από full height / width sections τότε δεν χρειάζεσαι μάλλον backbone ή κάποιο άλλο framework.

Αν είναι κάτι που συνδυάζει και τα 2 (πχ πολλά full height section αλλά με models / controllers και επομένως ανάγκη mvc) πρέπει να σκεφτείς πως θα ενσωματώσεις τη λογική της απεικόνισης με τη λογική των δεδομένων, ώστε οι μέθοδοι του framework να έχουν γνώση της λογικής του dom manipulation (που κάνει στη συγκεκριμένη περίπτωση το jQuery).

alou
Script Master
Δημοσιεύσεις: 1374
Εγγραφή: 24 Αύγ 2007 19:52
Επικοινωνία:

scrolling με backbone

Δημοσίευση από alou » 10 Μαρ 2015 17:42

Είπα ότι ίσως δεν ψάχνεις με σωστές προδιαγραφές, δεν ήξερα ότι έχεις παραπάνω από ένα view οπότε υποθέσεις έκανα :)

Σε αυτή την περίπτωση, μπορείς είτε να χρησιμοποιήσεις όποιο plugin θες είτε να κάνεις κάτι παρόμοιο με το παράδειγμα στο link παραπάνω (που πολύ πρόχειρα και με αρκετά λάθη έφτιαξα σαν πρόχειρο παράδειγμα) το βάζεις σε ένα function (στην περίπτωση του plugin λογικά θα δέχεται και κάποιο element) και το εκτελείς στο render function του αντίστοιχου route στο backbone
http://codepen.io/alou/pen/OPoKYB/
(μη δώσεις και πολύ σημασία στον κώδικα, είναι πολύ πρόχειρος και δεν προλαβαίνω να τον μαζέψω, απλά στη λογική του φτιάχνω ένα function και το καλώ στη render μέθοδο του router)

Και για να απαντήσω στο αρχικό σου ερώτημα όπως διατυπώθηκε, άλλη η δουλειά του backbone και άλλη του jQuery και είναι πολύ φυσικό και πιθανό να χρησιμοποιήσεις το ένα μέσα στο άλλο αν προκειται να διευκολύνει ή να λειτουργήσει καλύτερα.

Serghio
Δημοσιεύσεις: 451
Εγγραφή: 08 Φεβ 2011 19:20
Τοποθεσία: Περιστέρι

scrolling με backbone

Δημοσίευση από Serghio » 12 Μαρ 2015 18:02

Nαι κάτι τέτοιο θέλω να κάνω...κάτι άλλο,τα routers του backbone δεν έχουν render function.

Oπότε έχω 2 επιλογές...ή plugin ή ο κώδικας που έφτιαξες.
alou έγραψε:Είπα ότι ίσως δεν ψάχνεις με σωστές προδιαγραφές, δεν ήξερα ότι έχεις παραπάνω από ένα view οπότε υποθέσεις έκανα :)

Σε αυτή την περίπτωση, μπορείς είτε να χρησιμοποιήσεις όποιο plugin θες είτε να κάνεις κάτι παρόμοιο με το παράδειγμα στο link παραπάνω (που πολύ πρόχειρα και με αρκετά λάθη έφτιαξα σαν πρόχειρο παράδειγμα) το βάζεις σε ένα function (στην περίπτωση του plugin λογικά θα δέχεται και κάποιο element) και το εκτελείς στο render function του αντίστοιχου route στο backbone
http://codepen.io/alou/pen/OPoKYB/
(μη δώσεις και πολύ σημασία στον κώδικα, είναι πολύ πρόχειρος και δεν προλαβαίνω να τον μαζέψω, απλά στη λογική του φτιάχνω ένα function και το καλώ στη render μέθοδο του router)

Και για να απαντήσω στο αρχικό σου ερώτημα όπως διατυπώθηκε, άλλη η δουλειά του backbone και άλλη του jQuery και είναι πολύ φυσικό και πιθανό να χρησιμοποιήσεις το ένα μέσα στο άλλο αν προκειται να διευκολύνει ή να λειτουργήσει καλύτερα.

alou
Script Master
Δημοσιεύσεις: 1374
Εγγραφή: 24 Αύγ 2007 19:52
Επικοινωνία:

scrolling με backbone

Δημοσίευση από alou » 12 Μαρ 2015 18:55

Ο κώδικας αυτός είναι χάλια σαν παράδειγμα, βγήκε πολύ πρόχειρα από 2 διαφορετικά πράγματα (και δεν ξέρω πολλά από backbone) για να σου δείξω τη λογική και αν κοιτάξεις, θα δεις ότι υπάρχει render για τα view:

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

...
render: function () {
      var template = _.template($('script[name=scroll]').html());
      this.$el.html(template());
      initScrolls(); // αυτο είναι το function από το άλλο παράδειγμα χωρίς backbone, απλά το ονόμασα και το πέταξα εδώ
      return
...
Αν δεν θες να παιδευτείς, χρησιμοποίησε το plugin και κάντο initialize στο render. Αφότου καταλάβεις τη λογική, κάνε κάτι πιο "δικό σου".

Απάντηση

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

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

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