Więc w zasadzie ... jak przewijam w dół strony, gdy trafi do pewnego punktu na przewijaniu, chcę, aby mój przycisk przewija stronę na dole. Oto, co mam do tej pory.

Znam wykrywanie, kiedy działa działanie, ponieważ nie skomentuje ostrzeżenie działa na właściwej pozycji. Potrzebuję pomocy przy przewijaniu przycisku.

$(document).ready(function() {

        $(window).scroll(function() {
            var height = $(window).scrollTop();

            if(height  > 1000) {
                //alert("hit part of page i want... works!");
                $('#<%= btnFinish.ClientID %>').animate({ scrollTop: $(document).height() }, 500);

            }
        });

Edytuj: Jak to zrobić:

    $(window).scroll(function() {
        var d;
        var i;
        var top = $(window).scrollTop();
        var windowHeight = $(window).height();
        var docHeight = $(document).height()
        var obj = $('#<%= btnFinish.ClientID %>');
        var bottom = obj.position().top + obj.height();
        if (top + windowHeight == docHeight && bottom <= 800) {

            d = 0;
            for(i = 410; i>=85; i=i-.1){ 
                d  += .15;
                (function(ii,dd){
                    setTimeout(function(){
                        $('#<%= btnFinish.ClientID %>').css({ bottom: ii, right: 460 });
                    }, dd);    
                })(i,d);
            }

        } else if (top == 0 && bottom >= 801) {

            d = 0;
            for(i = 85; i<=410; i=i+.1){ 
                d  += .15;
                (function(ii,dd){
                    setTimeout(function(){
                        $('#<%= btnFinish.ClientID %>').css({ bottom: ii, right: 460 });
                    }, dd);    
                })(i,d);

            }

        }

    });
-1
t.. 4 czerwiec 2018, 18:12

3 odpowiedzi

Najlepsza odpowiedź
$(window).scroll(function() {
            var d;
            var i;
            var top = $(window).scrollTop();
            var windowHeight = $(window).height();
            var docHeight = $(document).height()
            var obj = $('#<%= btnFinish.ClientID %>');
            var bottom = obj.position().top + obj.height();
            if (top + windowHeight == docHeight && bottom <= 800) {

                d = 0;
                for(i = 410; i>=85; i=i-.1){ 
                    d  += .15;
                    (function(ii,dd){
                        setTimeout(function(){
                            $('#<%= btnFinish.ClientID %>').css({ bottom: ii, right: 460 });
                        }, dd);    
                    })(i,d);
                }

            } else if (top == 0 && bottom >= 801) {

                d = 0;
                for(i = 85; i<=410; i=i+.1){ 
                    d  += .15;
                    (function(ii,dd){
                        setTimeout(function(){
                            $('#<%= btnFinish.ClientID %>').css({ bottom: ii, right: 460 });
                        }, dd);    
                    })(i,d);

                }

            }

        });
0
t.. 26 czerwiec 2018, 15:44

Możesz użyć CSS transition:

$( document ).ready( function () {
    $( window ).scroll( function () {
        var height = $( window ).scrollTop();

        if ( height < 500 ) {}
        if ( height > 1000 ) {
            $('#test').css({ bottom: 10, right: 10 });
        } else {
            $('#test').css({ bottom: 170, right: 10 });
        }
    } );
} );
body {
  position: relative;
  height: 2000px
}
#test {
  position: fixed;
  bottom: 170px;
  right: 10px;
  -webkit-transition: all 1s;
     -moz-transition: all 1s;
       -o-transition: all 1s;
          transition: all 1s
}
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>

<button type="button" id="test">Button</button>
0
Kavian K. 4 czerwiec 2018, 16:22

Możesz naprawić swoją pozycję stylem CSS. Style = "Pozycja: Naprawiono; dolny: 10px; prawy: 10px;"

A jeśli chcesz, aby wyświetla się po określonym przewijaniu, wystarczy pokaż / ukryj ten przycisk po pewnym przewijaniu zgodnie z wygodnym.

0
Karan 4 czerwiec 2018, 15:24