2014-02-05 7 views
-2

Это делает обратный к началу div, когда прокрутка вниз 100 пикселей, но если человек уже прокручивается вниз и обновляется, страница остается прокруткой вниз, но div не отображается.Как запустить эту функцию jquery при загрузке страницы?

<div id="gototopwrap"><a href="#t" id="gototop">Back To Top</a></div> 
<script> 
$(function(){ 
    $(window).scroll(function() {    
     $('#gototopwrap').toggle($(document).scrollTop() > 100); 
    }); 
}); 
</script> 

я не пытался делать это, но это не сработало:

$(function myFunction(){ 
    $(window).scroll(function() {    
    $('#gototopwrap').toggle($(document).scrollTop() > 100); 
    }); 
}); 
myFunction(); 

также попробовал, как это, и до сих пор ничего:

function myFunction(){ 
    $(window).scroll(function() {    
    $('#gototopwrap').toggle($(document).scrollTop() > 100); 
    }); 
} 
myFunction(); 

Я уже оборачивать в документ готов. Я думаю, проблема в том, что она только прослушивает свиток и действует только на свиток.

+0

Ваш '$ (окно) .scroll' часть просто добавляет обработчик событий, код внутри этого обработчика не запускается до тех пор, пока не будет запущено событие прокрутки. Итак, что вам нужно сделать при загрузке, выполняется только тело этой функции. т. е. '$ ('# gototopwrap'). toggle ($ (document) .scrollTop()> 100);' –

ответ

1

Bind оба события:

$(window).on('load scroll', function() {    
    $('#gototopwrap').toggle($(document).scrollTop() > 100); 
}); 
+0

это первое, что я пробовал, и это сработало. Благодарю. – leoarce

1

Что-то, как это должно работать

 
$(function(){ 
    $(window).scroll(function() {    
     $('#gototopwrap').toggle($(document).scrollTop() > 100); 
    }); 
    if($(document).scrollTop() > 100) 
    { 

     $('#gototopwrap').toggle(); 

    } 
}); 
2

Trigger событие, которое будет срабатывать ваша функция

$(window).scroll(function() {    
    $('#gototopwrap').toggle($(document).scrollTop() > 100); 
}).trigger("scroll"); 
Смежные вопросы