Jquery UI accordion focus

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

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

Απάντηση
Άβαταρ μέλους
Nikos-0
Δημοσιεύσεις: 17
Εγγραφή: 11 Δεκ 2012 10:44
Τοποθεσία: Thessaloniki

Jquery UI accordion focus

Δημοσίευση από Nikos-0 » 19 Μάιος 2013 17:20

Μήπως γνωρίζει κανείς πώς γίνεται να κάνει αυτόματα focus το accordion στην κορυφή ή πχ στο κέντρο της σελίδας, ώστε να μην χρειάζεται ο χρήστης να scrollάρει;

Παράδειγμα: http://www.piraeusbank.gr/el/Idiotes/Ka ... kos-Axizei

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

Jquery UI accordion focus

Δημοσίευση από alou » 19 Μάιος 2013 17:52

Δεν κάνεις focus αλλά χρησιμοποιείς μέθοδο που θα κάνει scroll το στοιχείο που θες. Πχ

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

$('#some-element').some-event(function(e){
...kaneis oti kaneis
$('html, body').animate({scrollTop:'100'}, 'slow');
})
θα κάνει scroll στο 100ο πιξελ (από πάνω).
Το 100 θα μπορούσε να ήταν και μια μεταβλητή που φτιάχνεις, ανάλογα με τη θέση του στοιχείου που σε ενδιαφέρει.

Άβαταρ μέλους
Nikos-0
Δημοσιεύσεις: 17
Εγγραφή: 11 Δεκ 2012 10:44
Τοποθεσία: Thessaloniki

Jquery UI accordion focus

Δημοσίευση από Nikos-0 » 19 Μάιος 2013 20:40

Το έβαλα έτσι:

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

<script>
		$&#40;function&#40;&#41; &#123;
			$&#40; "#accordion" &#41;.accordion&#40;&#123;
				heightStyle&#58; "content"
			&#125;&#41;;
			$&#40;'html, body'&#41;.animate&#40;&#123;scrollTop&#58;'100'&#125;, 'slow'&#41;; 
		&#125;&#41;;
</script>
Όμως κάνει scroll με το που φορτώνει η σελίδα και όχι όταν πατάω σε κάποιο accordion element.

Άβαταρ μέλους
fafos
Script Master
Δημοσιεύσεις: 6236
Εγγραφή: 30 Νοέμ 2004 03:09

Jquery UI accordion focus

Δημοσίευση από fafos » 20 Μάιος 2013 05:06

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

//function gia scrollarisma sthn koryfh
function scrollToElement&#40;selector, time, verticalOffset&#41; &#123;
	time = typeof&#40;time&#41; != 'undefined' ? time &#58; 500;
	verticalOffset = typeof&#40;verticalOffset&#41; != 'undefined' ? verticalOffset &#58; 0;
	element = $&#40;selector&#41;;
	offset = element.offset&#40;&#41;;
	offsetTop = offset.top + verticalOffset;
	$&#40;'html, body'&#41;.animate&#40;&#123;
		scrollTop &#58; offsetTop
	&#125;, time&#41;;
&#125;
$&#40;function &#40;&#41; &#123;
	$&#40;"#accordion"&#41;.accordion&#40;&#41;;

	$&#40;"#accordion h3"&#41;.click&#40;function &#40;&#41; &#123;
		var headerHeight = $&#40;this&#41;.outerHeight&#40;&#41;;
		var divHeight = $&#40;".ui-accordion-content-active"&#41;.outerHeight&#40;&#41;;
		var offsetHeight = headerHeight + divHeight - 20;//prostheto to ypsos tou header + content kai afairo osa pixel thelo na phgainei apo thn koryfh ths selidas
		scrollToElement&#40;$&#40;this&#41;, 500, -offsetHeight&#41;; //scrollaro sthn koryfh
	&#125;&#41;;
&#125;&#41;;
Οι πάνες και οι πολιτικοί πρέπει να αλλάζονται συχνά για τον ίδιο λόγο...

Άβαταρ μέλους
Nikos-0
Δημοσιεύσεις: 17
Εγγραφή: 11 Δεκ 2012 10:44
Τοποθεσία: Thessaloniki

Jquery UI accordion focus

Δημοσίευση από Nikos-0 » 20 Μάιος 2013 15:33

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

Απάντηση

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

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

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