Saya mendapat banyak keluhan dari pengguna bahwa ketika mereka menggunakan tab berbasis jQuery saya, mereka merasa menjengkelkan bahwa ketika mereka menekan balik pada browser mereka, mereka tidak pergi ke tab sebelumnya tetapi ke halaman sebelumnya . Saya menambahkan tombol sebelumnya / berikutnya tetapi tidak cukup. Bagaimana cara mengkonfigurasi ulang tombol saya sehingga pengguna akan pergi ke tab sebelumnya daripada halaman sebelumnya ketika mereka mengklik panah kembali browser. Anda bisa mengujinya di sini .
$('#quicktabs-registration_steps').append('<div class="prevnext"><a class="tablink-prev btn" href="#">Prev</a><a class="tablink-next btn btn-lg btn-primary" href="#">Continue</a></div>');
$('.tablink-prev').click(function () {
var index = $('.quicktabs-tabs li.active').index();
$('.quicktabs-tabs li').eq(index).removeClass('active');
if (index == 0) {
index = 1;
}
$('.quicktabs-tabs li').eq(index - 1).addClass('active');
$('.quicktabs-tabs li').eq(index - 1).find('a').click();
return false;
});
$('.tablink-next').click(function () {
var length = $('.quicktabs-tabs').first().children().size();;
var index = $('.quicktabs-tabs li.active').index();
$('.quicktabs-tabs li').eq(index).removeClass('active');
// if (parseInt(index) == parseInt(length) - 1 ) {
// index = index - 1;
// }
if (parseInt(index) == parseInt(length) - 1) {
window.location.href = '/home'; //redirect to home
//index = index - 1;
}
$('.quicktabs-tabs li').eq(index + 1).addClass('active');
$('.quicktabs-tabs li').eq(index + 1).find('a').click();
return false;
});
javascript
jquery
Efe
sumber
sumber
Jawaban:
Anda dapat menggunakan Riwayat.
Dorong status riwayat saat tab baru dibuka
Referensi: https://developer.mozilla.org/en-US/docs/Web/API/History_API
sumber
Tanpa kode lengkap Anda, saya tidak bisa memberi Anda contoh yang dipesan lebih dahulu, tetapi Anda dapat menambahkan tag anchor ke setiap tab yang berisi div.
Ini akan memperbarui URL setiap kali pengguna mengklik tautan tab. Perubahan URL ini akan disimpan dalam riwayat browser dan akan dipanggil kembali ketika menavigasi mundur.
URL yang diperbarui akan terlihat seperti ini setiap kali Anda mengklik tab:
https://example.com#Tab1
https://example.com#Tab2
https://example.com#Tab3
https://example.com#Tab4
sumber
di satu sisi, fungsi tab Anda berikutnya ditulis dalam javascript, dan di sisi lain, tombol kembali di browser menggunakan riwayat browser sehingga ini tidak relevan dengan fungsi Anda dan sama sekali tidak bisa membawa Anda ke tab sebelumnya.
Jadi, Anda memiliki dua cara untuk mewujudkannya:
1: cobalah memuat setiap langkah di halaman yang berbeda dengan menyegarkan browser, sehingga halaman disimpan dalam riwayat browser dan dengan menekan tombol kembali Anda dapat melihat langkah sebelumnya
Kedua: Anda harus memiliki tombol "sebelumnya" untuk melihat langkah sebelumnya seperti halnya tombol langkah berikutnya
sumber
Saya telah menggunakan tab bootsrap dengan navigasi tab browser di bawah ini adalah contoh lengkapnya
Anda dapat memeriksa contoh kode saya yang langsung berfungsi
1> PERGI KE https://www.notesgen.com (gunakan desktop)
2> Buat akun Anda sebagai siswa
3> PERGI KE Akun Saya / Unduhan Saya
4> Klik Koneksi Saya
sumber
Mengubah hash mirip dengan mendorong negara
history.pushState
yang memicupopstate
peristiwa. Menekan maju dan mundur di peramban akan muncul dan mendorong status ini sehingga Anda tidak memerlukan penangan khusus lainnya.PS: Anda dapat menambahkan gaya css
:target
dariactive
kelas Anda .window.addEventListener('popstate'
Log di sini hanya menunjukkan kepada Anda acara tetapievent.state
akan selalu nol dalam kasus ini.Jalankan cuplikan kode, coba navigasikan tab lalu gunakan tombol kembali dan maju browser.
sumber
Hal pertama yang Anda butuhkan, cegah tautan untuk mengirimkan url dalam histori dengan $ event.preventDefualt () di event klik dan sesuaikan histori dengan history.pushState (data, judul, url) .
Di js kami memiliki acara yang membantu kami untuk mengontrol kembali dan meneruskan acara oleh pengguna. Nama acara ini adalah "popstate". Anda dapat menggunakannya dengan window.addEventListener ('popstate', callback) . dalam fungsi panggilan balik Anda dapat mengaktifkan dan menonaktifkan tab (menambah dan menghapus kelas) dan mengekstrak url.
Saya menunjukkan ini dengan kode sampel. untuk melakukan dan memahami lebih baik, cobalah di server atau server lokal karena di sana mengubah url di sini terbatas:
sumber