Πρώτα refresh και μετά display:block

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

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

Απάντηση
pekovic13
Δημοσιεύσεις: 170
Εγγραφή: 12 Φεβ 2011 17:30

Πρώτα refresh και μετά display:block

Δημοσίευση από pekovic13 » 16 Ιούλ 2012 14:05

Καλησπέρα παιδιά...
Έχω ένα θεματάκι...
Θέλω σε μια δελίδα (php+javascript) με το που παταω ένα button να κάνει refresh την σελίδα και μετά να κάνει display:block ένα divάκι το οποίο πριν το κλικ είναι display:none

Αυτό το θέλω κατά τέτοιο τρόπο ώστε αν κάνει μετα refresh τη σελίδα ο χρήστης, ή επιστρέψει σε αυτή τη σελίδα αργότερα, το divακι να είναι display:none

Όπως το έχω κάνει τώρα εμφανίζει πρώτα το div, μετά κάνει refresh, και εξαφανίζεται το div...Θέλω με κάποιο τρόπο δηλαδή πρώτα το refresh και μετά να εμφανίσει το div...

Μη με ρωτάτε γτ το θέλω έτσι...ο πέλατης το θέλει.... :D

Άβαταρ μέλους
Christianago
Δημοσιεύσεις: 332
Εγγραφή: 12 Νοέμ 2009 13:36

Πρώτα refresh και μετά display:block

Δημοσίευση από Christianago » 17 Ιούλ 2012 02:29

Δωσε λιγο κωδικα

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

Πρώτα refresh και μετά display:block

Δημοσίευση από alou » 17 Ιούλ 2012 09:43

Δύο επιλογές:

1. με php: έχεις ένα hidden input και κάνεις κάτι post πατώντας το κουμπί, έτσι μπορείς να έχεις ένα conditional στην αρχή του script, ~ if(isset($_POST[κάτι]) ... div style display block κλπ
Βολεύει κάτω από κάποιες συνθήκες, δεν ξέρω τι άλλο κάνεις.

2. Με js: Το πιο απλό, το κουμπί να σε πηγαίνει στο ίδιο url με hash όμως και να τσεκάρεις αν υπάρχει hash οπότε και κάνεις το div ότι θες, π.χ.
Αρχικό url : tade.gr/refreshpage
url κουμπιού tade.gr/refreshpage#

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

if(window.location.hash) {
  $('tade div').css('display', 'block');
} else {
  $('tade div').css('display', 'none);
}


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

Πρώτα refresh και μετά display:block

Δημοσίευση από alou » 17 Ιούλ 2012 14:08

Τι σχέση έχει το lazyload με αυτό που ζητάει;

pekovic13
Δημοσιεύσεις: 170
Εγγραφή: 12 Φεβ 2011 17:30

Πρώτα refresh και μετά display:block

Δημοσίευση από pekovic13 » 17 Ιούλ 2012 15:41

Όντως το lazyload δεν βοηθάει...

Στην ουσία παιδιά θέλω την εξής λειτουργία:

Υπάρχει ένα site, το http://www.net-a-porter.com/
Να πάτε σε ένα προϊόν πχ http://www.net-a-porter.com/product/322257, διαλέξετε ποσότητα, και το βάλετε στο καλάθι κάνει αυτό ακριβώς που θέλω, κάνει ένα refresh, μετα βγάζει ένα div για να πας στο καλάθι... Αν όμως πατήσεις refresh ή πας κάπου αλλού και επιστρέψεις εκεί, το div δεν υπάρχει.....

Αυτό ακριβώς θέλω...

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

Πρώτα refresh και μετά display:block

Δημοσίευση από alou » 17 Ιούλ 2012 15:52

Σου είπα 2 επιλογές, υπάρχει κάποιος λόγος που δε σου κάνουν;

edit: με php μόνο σου κάνει αν θες να μη φαίνεται και στο refresh το checkout. Αν υπάρχει κάποιο συγκεκριμένο post data, κάνεις echo το checkout.

Αλλά εξαρτάται πως είναι στημένο όλο το σύστημά σου, δε λες τίποτα που να διευκολύνει.

Άβαταρ μέλους
dva_dev
Script Master
Δημοσιεύσεις: 3790
Εγγραφή: 16 Σεπ 2005 01:32
Επικοινωνία:

Πρώτα refresh και μετά display:block

Δημοσίευση από dva_dev » 17 Ιούλ 2012 23:50

Δεν έχω καταλάβει ακριβώς τι είναι αυτό που ζητάς αλλά δεν χάνεις τίποτα να δοκιμάσεις αυτό (τρέχεις το page1.php)
page1.php

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

<?php
	session_start&#40;&#41;;
	$chk = 0;
	if &#40;isset&#40;$_SESSION&#91;'chk'&#93;&#41;&#41; $chk = intval&#40;$_SESSION&#91;'chk'&#93;&#41;;
?>
<html>
<head></head>
<style>
div.custom &#123;
background-color&#58; yellow;
font-size&#58; 18pt;
display&#58; <?php echo &#40;$chk&#41; ? 'block' &#58; 'none'; ?>;
&#125;
</style>
<body>
bla, bla, bla, bla, ...<br/>
Go to this <a href='page2.php'>page</a> again, or go to <a href='page1.php'>"another"</a> page
<div class='custom'>This is a visible/hidden div.</div>
</body>
</html>
<?php unset&#40;$_SESSION&#91;'chk'&#93;&#41;; ?>
page2.php

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

<?php
	session_start&#40;&#41;;
	$_SESSION&#91;'chk'&#93; = 1;
	header&#40;'location&#58; page1.php'&#41;;
?>
Πατώντας το link "page" ανανεώνει τη σελίδα και δείχνει το div, πατώντας το link "another" ανανεώνει τη σελίδα χωρίς να δείχνει το div. Βασικά το div φαίνεται μόνο αν πατήσεις το link "page" ούτε με refresh, ούτε με forward/back.

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

Πρώτα refresh και μετά display:block

Δημοσίευση από alou » 18 Ιούλ 2012 08:46

dva_dev, από όσο κατάλαβα, μιλάει για κάποια πλατφόρμα ecommerce που θέλει να βλέπει το checkout μόνο την στιγμή που προσθέτει ένα προϊόν στο καλάθι, οπότε δεν είναι πιο εύκολο να υπάρχει ένα <input type="hidden" name="viewcheckout" value="1"> στη φόρμα που κάνει submit το προϊόν και να τσεκάρει τα post data πριν τυπώσει το checkout ;

Το λέω γιατί το "page" link σου θα πρέπει να προσθέτει και το προϊόν στο καλάθι που μάλλον είναι πιο μπέρδεμα.

Όλα αυτά υποθετικά βέβαια :D

pekovic13
Δημοσιεύσεις: 170
Εγγραφή: 12 Φεβ 2011 17:30

Πρώτα refresh και μετά display:block

Δημοσίευση από pekovic13 » 18 Ιούλ 2012 10:06

Παιδιά βρήκα την λύση!

Όταν πατάω το κουμπί κάνω set ένα session, και κάτω ακριβώς από την εμφάνιση του το κάνω unset οπότε αν πατήσει ο άλλος refresh δεν το εμφανίζει...

Σας ευχαριστώ πολύ για τις απαντήσεις σας!!!

Απάντηση

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

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

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