2014-02-05 113 views
-2

這使得在向下滾動100個像素時出現回到頂部的div,但是如果一個人已經向下滾動並進行刷新,則該頁面保持向下滾動,但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

綁定這兩個事件的事件:

$(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

觸發時會觸發你的函數

$(window).scroll(function() {    
    $('#gototopwrap').toggle($(document).scrollTop() > 100); 
}).trigger("scroll"); 
相關問題