Saya mencoba untuk memindahkan halaman ke suatu <div>
elemen.
Saya telah mencoba kode berikutnya tetapi tidak berhasil:
document.getElementById("divFirst").style.visibility = 'visible';
document.getElementById("divFirst").style.display = 'block';
javascript
html
C ..
sumber
sumber
visibility
dandisplay
digunakan untuk membuat elemen (dalam) terlihat. Apakah Anda ingin menggulir div di layar?el.scrollIntoView(true)
Jawaban:
Anda dapat menggunakan jangkar untuk "memfokuskan" div. Yaitu:
dan kemudian gunakan javascript berikut:
sumber
location.href="#";location.href="#myDiv"
. Menggunakanid="myDiv"
lebih disukainame="myDiv"
dan berfungsi juga.scrollIntoView berfungsi dengan baik:
referensi lengkap dalam dokumen MDN:
https://developer.mozilla.org/en-US/docs/Web/API/Element.scrollIntoView
sumber
scrollIntoView
pertanyaan Anda dan jawabannya tampak berbeda. Saya tidak tahu apakah saya salah, tetapi bagi mereka yang googles dan sampai di sini jawaban saya adalah sebagai berikut:
Jawaban saya menjelaskan:
di sini adalah javascript sederhana untuk itu
panggil ini saat Anda perlu menggulir layar ke elemen yang memiliki id = "yourSpecificElementId"
yaitu. untuk pertanyaan di atas, jika tujuannya adalah menggulir layar ke div dengan id 'divFirst'
kodenya adalah:
window.scroll(0,findPos(document.getElementById("divFirst")));
dan Anda memerlukan fungsi ini untuk bekerja:
layar akan digulir ke elemen spesifik Anda.
sumber
window
Anda ingin menggulir, bukan area tampilan yang meluap[curtop]
kecurtop
pada akhirnya(window.screen.height/2)
dari findPosUntuk Chrome dan Firefox
Saya telah melihat sedikit ke dalam ini dan saya menemukan ini yang entah bagaimana terasa seperti cara paling alami untuk melakukannya. Tentu saja, ini adalah gulir favorit pribadi saya sekarang. :)
Untuk pendukung IE, Edge dan Safari
Catatan yang
window.scroll({ ...options })
tidak didukung di IE, Edge dan Safari. Dalam hal ini kemungkinan besar yang terbaik untuk digunakanelement.scrollIntoView()
. (Didukung pada IE 6). Anda kemungkinan besar (baca: belum diuji) opsi lewat tanpa efek samping.Ini tentu saja dapat dibungkus dengan fungsi yang berperilaku sesuai dengan browser yang sedang digunakan.
sumber
window.scroll
Coba ini:
misalnya @:
sumber
element.tabIndex
tetapi tidakelement.tabindex
; yang kedua berfungsi di Firefox tetapi tidak di Chrome (setidaknya ketika saya mencobanya beberapa waktu lalu). Tentu saja, digunakan sebagai atribut HTML baiktabIndex
dantabindex
berfungsi (dan pada XHTML,tabindex
harus digunakan)Untuk menggulir ke elemen yang diberikan, buat saja solusi javascript ini di bawah ini.
Penggunaan sederhana:
Objek mesin (Anda dapat mengutak-atik filter, nilai fps):
sumber
Berikut adalah fungsi yang dapat menyertakan offset opsional untuk header tetap itu. Tidak diperlukan perpustakaan eksternal.
Anda bisa mengambil ketinggian elemen menggunakan JQuery dan gulir ke sana.
Pembaruan Maret 2018
Gulir ke jawaban ini tanpa menggunakan JQuery
sumber
Anda dapat mengatur fokus ke elemen. Ini bekerja lebih baik daripada
scrollIntoView
node.setAttribute('tabindex', '-1')
node.focus()
node.removeAttribute('tabindex')
sumber
Jawaban terbaik dan terpendek yang berfungsi bahkan dengan efek animasi:
Jika Anda memiliki bilah nav tetap, kurangi saja tingginya dari nilai teratas, jadi jika tinggi bilah tetap Anda adalah 70px, baris 2 akan terlihat seperti:
Penjelasan: Baris 1 mendapatkan posisi elemen Baris 2 gulir ke posisi elemen;
behavior
properti menambahkan efek animasi yang halussumber
Fokus dapat ditetapkan hanya pada elemen interaktif ... Div hanya mewakili bagian logis dari halaman.
Mungkin Anda dapat mengatur batas di sekitar div atau mengubah warnanya untuk mensimulasikan fokus. Dan ya Visiblity tidak fokus.
sumber
Saya pikir jika Anda menambahkan tabindex ke div Anda, itu akan bisa mendapatkan fokus:
Saya tidak berpikir itu valid, tabindex hanya dapat diterapkan ke, area, tombol, input, objek, pilih, dan textarea. Tapi cobalah.
sumber
tabindex
adalah "atribut inti", yang merupakan "atribut global" (atribut yang umum untuk semua elemen dalam bahasa HTML). Lihat w3.org/TR/2011/WD-html-markup-20110113/global-attributes.htmlMirip dengan solusi @ manusia gua
sumber
Anda tidak dapat fokus pada div. Anda hanya bisa fokus pada elemen input di div itu. Anda juga perlu menggunakan element.focus () alih-alih display ()
sumber
<div>
fokus jika menggunakantabindex
atribut. Lihat dev.w3.org/html5/spec-author-view/editing.html#attr-tabindexSetelah banyak melihat-lihat, inilah yang akhirnya berhasil untuk saya:
Temukan / temukan div di dom Anda yang memiliki bilah gulir. Bagi saya, itu tampak seperti ini: "div class =" table_body table_body_div "scroll_top =" 0 "scroll_left =" 0 "style =" width: 1263px; tinggi: 499px; "
Saya menemukannya dengan xpath ini: // div [@ class = 'table_body table_body_div']
Digunakan JavaScript untuk menjalankan pengguliran seperti ini: driver (JavascriptExecutor)) .executeScript ("argumen [0] .scrollLeft = argumen [1];", elemen, 2000);
2000 adalah jumlah piksel yang ingin saya gulir ke kanan. Gunakan scrollTop bukan scrollLeft jika Anda ingin menggulir div Anda ke bawah.
Catatan: Saya mencoba menggunakan scrollIntoView tetapi tidak berfungsi dengan baik karena halaman web saya memiliki beberapa div. Ini akan berfungsi jika Anda hanya memiliki satu jendela utama di mana fokus berada. Ini adalah solusi terbaik yang saya temui jika Anda tidak ingin menggunakan jQuery yang saya tidak mau.
sumber
Metode yang sering saya gunakan untuk menggulir wadah ke isinya.
jika keinginan Anda untuk menimpa secara global, Anda juga dapat melakukan:
sumber
Karena perilaku "smooth" tidak berfungsi di Safari, Safari ios, Explorer. Saya biasanya menulis fungsi sederhana menggunakan requestAnimationFrame
sumber
Jika Anda ingin menggunakan html, Anda bisa menggunakan ini:
dan menjadikannya tautan html ke id elemen spesifik. Pada dasarnya
getElementById
versi html.sumber
coba fungsi ini
Lulus id id sebagai parameter itu akan berfungsi saya sudah menggunakannya
sumber
$j
?