Soru jQuery - Animasyon olmadan ScrollTop


Animasyon olmadan kaydırma çubuğunu nasıl kullanabilirim?

Bu kod çalışır:

var offTop = $('#box').offset().top;
offTop  = offTop-43;
$('#mainCt').animate({scrollTop: '+=' + offTop + 'px'}, 400);

Ve işte benim (çalışan çözümler değil):

$("#mainCt").scrollTop('+=' + offTop + 'px');                 // doesn't work
$("#mainCt").scrollTop('+='+offTop);                          // doesn't work
hhh = setTimeout(' $("#mainCt").scrollTop('+offTop+');',800); // doesn't work

DEMO
http://jsfiddle.net/DNNFF/9/


25
2018-04-13 15:24


Menşei




Cevaplar:


belki bir animasyon ya da bir şey fantezi istemiyorsanız sadece bir çapa kullanın

<a name="top"></a>

Kaydırmak için gereken yere yerleştirin

ve sizin kullandığınız yerde fonksiyonunuzda

document.location.href="#top";

Ayrıca, öğeyi önce bağlantıyı eklemek için bir işlev de oluşturabilirsiniz. document.location bir şey ve daha sonra bu çapa kaldırmak.

http://jsfiddle.net/fSrxr/1/


11
2018-04-16 22:11



Bu çalışır, ancak jQuery ScrollTop'u bir animasyon olmadan nasıl kullanabilirim? - user970727
Bu cevap "çalışır" iken, tarayıcı geçmişi ile uğraşıyor. $ (element) .scrollTop (ofset), animasyon olmadan ve tarayıcı geçmişi ile uğraşmadan yeniden konumlandırma için daha iyidir. Özellikle akordeon yüklendikten sonra jQuery UI Akordeon bölümünü yeniden konumlandırmak için $ (window) .scrollTop (ofset). - Reuben


Bunu dene:

var offTop = $('#box').offset().top - 43;
$('#mainCt').scrollTop(offTop);

scrollTop özellik sadece bir tamsayı, son ekleri veya gerekli birimleri kabul eder.


18
2018-04-13 15:27



çalışmıyor :/ - user970727
Burada iyi çalışıyor: jsfiddle.net/wNehJ Konsolunuzda herhangi bir hata var mı? - Rory McCrossan
Hata yok, gerçekten garip. jsfiddle.net/DNNFF/6 - user970727
Örnegin burada iyi çalışıyor: jsfiddle.net/DNNFF/7 - Rory McCrossan
Ayrıca biraz aşağı kaydırdığınızda da? Düzenleyin: onunla oynayın, işe yaramıyor (Firefox ve krom üzerindeki kodu kontrol ediyorum) - user970727


http://api.jquery.com/scrollTop/

$(window).scrollTop(offTop)

10
2018-04-13 15:28



mainCt doğrudur;) - user970727
mainCt, scrollbar (overflow: auto) içeren bir katman ise mainCt'de kullanabilirsiniz. Tarayıcı görüntü alanını kaydırmak istiyorsanız, pencereyi kullanmanız gerekir. - sod
sağ, mainCt taşma-x ile bir div: Gizli; taşma-y: kaydırma; - user970727


JQuery'yi atla. Sadece JavaScript'i kullan:

window.scroll(0, 0);

10
2018-01-20 00:23





Neden daha az süre ile kullanmıyorsunuz? Ben onu kandırdım ve hiçbir animasyonu yoktu. Sence, animasyonu görecek zaman olmayacak, hiç animasyon olmayacak.

var offTop = $('#box').offset().top;
offTop  = offTop-43;
$('#mainCt').animate({scrollTop: '+=' + offTop + 'px'}, 50); //50 added here as duartion

3
2018-04-18 04:25



Soruyu cevaplamıyor. - igorpavlov


Süre ile oynayamaz mısın?

var offTop = $('#box').offset().top;
offTop  = offTop-43;
$('#mainCt').delay('800').animate({scrollTop: '+=' + offTop + 'px'}, 1);

1
2018-04-13 15:29



Yapabilirim, ama bu çözüm biraz kirli: / - user970727
Soruyu cevaplamıyor. - igorpavlov


var offTop = $('#box').offset().top;
$(window).scrollTop(parseInt(offTop))

0
2018-05-09 06:11