PURE JS kullanarak bir div (değil pencerenin) İÇİNDE konumlandırmak için.Kaydırma SADECE LÜTFEN saf JS
Bağlantı bağlantılarının bir listesi var ve tıklandıklarında bir konuma kaydırmak istiyorum.
Temel olarak sadece pencerede değil, bir div içinden kaymak için çapa aramak. Pencerenin hiçbir zaman gerçekte taşmadığı gibi çalışmaz.
Basit test durumu http://codepen.io/mildrenben/pen/RPyzqm
JADE
nav
a(data-goto="#1") 1
a(data-goto="#2") 2
a(data-goto="#3") 3
a(data-goto="#4") 4
a(data-goto="#5") 5
a(data-goto="#6") 6
main
p(data-id="1") 1
p(data-id="2") 2
p(data-id="3") 3
p(data-id="4") 4
p(data-id="5") 5
p(data-id="6") 6
SCSS
html, body {
width: 100%;
height: 100%;
max-height: 100%;
}
main {
height: 100%;
max-height: 100%;
overflow: scroll;
width: 500px;
}
nav {
background: red;
color: white;
position: fixed;
width: 50%;
left: 50%;
}
a {
color: white;
cursor: pointer;
display: block;
padding: 10px 20px;
&:hover {
background: lighten(red, 20%);
}
}
p {
width: 400px;
height: 400px;
border: solid 2px green;
padding: 30px;
}
JS
var links = document.querySelectorAll('a'),
paras = document.querySelectorAll('p'),
main = document.querySelector('main');
for (var i = 0; i < links.length; i++) {
links[i].addEventListener('click', function(){
var linkID = this.getAttribute('data-goto').slice(1);
for (var j = 0; j < links.length; j++) {
if(linkID === paras[j].getAttribute('data-id')) {
window.scrollTo(0, paras[j].offsetTop);
}
}
})
}
PURE JS SADECE LÜTFEN - HAYIR JQUERY
JS'yi bir 'href' yerine kullanmak istediğiniz belirli bir neden var mı?(Eğer öyleyse, sorun değil, sadece merak ediyordum) – icke
@icke, arka taraftaki adamın işleri ayarlamasının yolu. href farklı kaplarda olduğu gibi işe yaramazdı. Ve href kaydırmıyor pürüzsüz – mildrenben
Farklı kapsayıcılar, farklı iframe'lerde yüklendiler mi? Yoksa aynı sayfada mı? Örneğinizden tüm JS'leri kaldırdım, hedeflere ve hrefs'e eklenen menü öğelerine kimlikleri ekledim. Ben noktayı özlüyorum gibi hissediyorum, ama sadece söyleyemiyorum ... – icke