netbozum
tr.link

jQuery mouse ile id'ye gitme

3 Mesajlar 1.005 Okunma
acebozum
tr.link

mile1858 mile1858 WM Aracı Kullanıcı
  • Üyelik 17.01.2016
  • Yaş/Cinsiyet 28 / E
  • Meslek .
  • Konum Diğer
  • Ad Soyad R** A**
  • Mesajlar 389
  • Beğeniler 191 / 51
  • Ticaret 2, (%100)
Bir sitede görmüştüm yanda 5 tane buton vardı.O butonlara basarak bir sonraki div elementine gidebiliyordun yada mouse tekerliğini kaydırarakta bir sonraki div bölgesine geçebiliyordun bunu nasıl yapabilirim?

Burada bişiler yazmayı denedim şöyle onuda vereyim, framework olarak felan öneriniz varsa açığım.TIklayarak gitmek istemiyorum bu en kolayı zaten benim istediğim mouse tekerliğini kaydırdığında #section2 sonra biraz daha kaydırdığında #section3'e geçsin.

HTML Kodum:








Lorem ipsum dolor sit amet consectetur adipisicing elit.






Lorem ipsum dolor sit amet consectetur adipisicing elit.





Lorem ipsum dolor sit amet consectetur adipisicing elit.





Javascript kodum:


$(document).scroll(function(){
var scroll_position = $(document).scrollTop();
$('.log').text(scroll_position);

// > 0

if (scroll_position > 100) {
$([document.documentElement, document.body]).animate({
scrollTop: $("#section2").offset().top
}, 2000);
} else if (scroll_position > 770) {
$([document.documentElement, document.body]).animate({
scrollTop: $("#section3").offset().top
}, 2000);
}
});

 

 

googleasistan
reklam

tiwaly tiwaly NodeJS / PHP / NoSQL Kullanıcı
  • Üyelik 10.10.2013
  • Yaş/Cinsiyet 34 / E
  • Meslek Yazılımcı
  • Konum İzmir
  • Ad Soyad i** A**
  • Mesajlar 363
  • Beğeniler 135 / 104
  • Ticaret 7, (%100)
https://projects.lukehaas.me/scrollify/#home

bu kütüphaneyi kullanabilirsin.
 

 

RecepDemirel RecepDemirel www.demirelrecep.com Kullanıcı
  • Üyelik 25.03.2017
  • Yaş/Cinsiyet 33 / E
  • Meslek Front End Developer
  • Konum İstanbul Avrupa
  • Ad Soyad R** D**
  • Mesajlar 152
  • Beğeniler 49 / 45
  • Ticaret 1, (%100)

(function() {
let delay = false;

$(document).on("mousewheel DOMMouseScroll", function(e) {
e.preventDefault();
if(delay) return;

delay = true;
setTimeout(function(){delay = false},200);

let wd = e.originalEvent.wheelDelta || -e.originalEvent.detail;

// Sadece section kullanırsan çalışır.
// Section yerine başka bir şey kullanmak istiyorsan her bölüme aynı class name i verip
// let a = document.getElementsByClassName(".className") ile alt satırı değiştir.
let a = document.getElementsByTagName("section");

// "a" adındaki bir diziye her section eleman olarak kaydediliyor.
// Sonra scroll "a" dizisinin indeksini değiştiriyor ve bir sonraki veya bir önceki sectiona geçiliyor.

// Aşağı iniş
if(wd < 0) {
for(var i = 0 ; i < a.length ; i++) {
var t = a[i].getClientRects()[0].top;
if(t >= 40) break;
}
}
// Yukarı çıkış
else {
for(var i = a.length-1 ; i >= 0 ; i--) {
var t = a[i].getClientRects()[0].top;
if(t < -20) break;
}
}
if(i >= 0 && i < a.length) {
$('html,body').animate({
scrollTop: a[i].offsetTop
});
};
});
})();
 

 

Site Ayarları
  • Tema Seçeneği
  • Site Sesleri
  • Bildirimler
  • Özel Mesaj Al