Warning: error_log(/data/www/wwwroot/hmttv.cn/caches/error_log.php): failed to open stream: Permission denied in /data/www/wwwroot/hmttv.cn/phpcms/libs/functions/global.func.php on line 537 Warning: error_log(/data/www/wwwroot/hmttv.cn/caches/error_log.php): failed to open stream: Permission denied in /data/www/wwwroot/hmttv.cn/phpcms/libs/functions/global.func.php on line 537
次瀏覽網站右下角都會返回頁面頂部的按鈕,每次都會點擊一下,其實這是為了更好的用戶體驗而設置的,今天小猿圈web前端講師教你用jQuery做個返回頂部按鈕。
我們先來分析一下具體流程
當頁面沒有滾動的時候,這個按鈕是隱藏狀態,當向下滾動1000px時這個按鈕會以淡入的效果出現,這時候點擊按鈕會返回頂部,并且按鈕會隱藏。
首先我們來簡單布局一下頁面,這里就不用多講解了,直接放一個我的HTML和CSS源碼。
<body>
<div style="width:700px; margin: 0 auto;">
<img src="6.png" alt="">
<img src="2.jpg" alt="">
<img src="3.jpg" alt="">
<img src="4.jpg" alt="">
<img src="5.jpg" alt="">
</div>
<div id="actGotop" class="actGotop">
<a href="javascript:0"></a>
</div>
</body>
<style>
a {
color: #FFF;
}
.actGotop {
position: fixed;
bottom: 50px;
right: 100px;
width: 150px;
height: 195px;
display: none;
z-index: 100;
}
.actGotop a, .actGotop a:link {
width: 200px;
height: 195px;
display: inline-block;
background: url(btop.png) no-repeat;
outline: none;
}
.actGotop a:hover {
width: 200px;
height: 195px;
background: url(btop1.png) no-repeat;
outline: none;
}
</style>
接下來我們來看一下如何用jQuery實現最終效果。
script src="jquery-1.12.4.js"></script>
<script>
$(function(){
$(window).scroll(function(){
if ($(window).scrollTop()>=1000) {
$(".actGotop").stop().fadeIn(300);
} else {
$(".actGotop").stop().fadeOut(300);
}
})
$(".actGotop").click(function(){
$("body,html").stop().animate({scrollTop:0},400);
})
})
</script>
實現過程分析:
首先判斷滾動距離,超過1000時返回頂部圖標會以fadeIn的動畫顯示出來,小于1000則隱藏。
點擊返回頂部圖標后注意,不能寫成$(window).animate()要寫$("body,html")才可以。想讓動畫效果慢一些可以把animate里后面的400參數修改大一些。
另外一定記得給fadeIn、fadeOut和animate前面加stop()方法,否則會在連續快速觸發動畫的時候出現bug。
以上就是小猿圈web前端講師給大家分享的教你用jQuery做個返回頂部按鈕,希望對小伙伴們有所幫助,想要了解更多內容的小伙伴可以登錄小猿圈官網了解。
window.history.pushState(null, null, window.location.href);
window.addEventListener("popstate", function () {
window.history.pushState(null, null, window.location.href);
});
品同學總是會提出各種稀奇古怪的需求,比如qj用戶的返回操作。。。
上面的代碼經常被用來禁止網頁頁面的返回,經過個人的測試(Chrome/92.0.4497.0),必須在用戶有了交互之后才能生效,否則不生效;
浮框是什么?大家不一定清楚,但是說網站上怎么都關不完的小廣告,估計人人都被它惡心過,不管你怎么滾動網頁,這些小廣告始終會出現在你的屏幕上。今天我們就來聊聊這些小廣告背后的原理——懸浮框。
懸浮框是Web前端開發中的一種常見的網頁特效,它懸浮于網頁內容之上,不受滾動條的影響,可以一直處于瀏覽器的可視區域內。
通過懸浮框,我們可以為用戶展示一些特定的信息(如提示信息、廣告信息),也可以在懸浮框中提供一些常用的按鈕(如“返回頂部”按鈕、“分享”按鈕)方便用戶操作。
下面為大家展示一些網頁中常見的懸浮框效果。
(1)當用戶使用百度進行搜索時,在搜索結果頁面的頂部會出現懸浮框。該懸浮框會一直懸浮在網頁頂部,不受用戶滾動頁面的影響,如下圖所示。
(2)用戶在騰訊網瀏覽新聞時,右下角會出現兩個小按鈕,分別是“用戶反饋”和“^”(返回頂部),這兩個小按鈕就是通過懸浮框來實現的,如下圖所示。
對于Web前端開發不熟悉的朋友們來說,也許會覺得懸浮框做起來很不容易,需要用大量的JavaScript代碼才能實現。
實際上,懸浮框做起來很簡單,它主要是通過CSS代碼來實現的。在學習CSS的時候,大家是不是都學過定位(position)呢?還有印象嗎?
我們來回顧一下。在CSS中,position屬性可以設置元素的定位方式。position屬性有4個常用的可選值,分別表示的含義如下。
在回顧了position屬性的4個可選值以后,請大家思考一下,實現懸浮框,應該使用哪一種定義方式呢?
答案是:fixed固定定位。
當對元素設置固定定位后,該元素將脫離標準文檔流的控制,始終依據瀏覽器窗口來定義自己的顯示位置。不管瀏覽器滾動條如何滾動,也不管瀏覽器窗口的大小如何變化,該元素都會始終顯示在瀏覽器窗口的固定位置。
下面我們通過一個具體案例來實現懸浮框效果,案例的效果圖如下所示。
在上圖中,頁面右下角的“返回頂部”就是一個懸浮框,當用戶單擊該懸浮框后就會返回頂部。
下面講解本案例的具體實現步驟。
(1)創建一個HTML文件,在文件中編寫簡單的網頁結構和內容,具體代碼如下。
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>Document</title>
<style>
/* 此處用于編寫懸浮框的樣式 */
</style>
</head>
<body>
<!-- 此處用于編寫網頁結構 -->
</body>
</html>
(2)在第11行代碼的位置,新增如下代碼,為網頁填充內容,并完成懸浮框的頁面結構。
<div>
<p>網頁內容</p>
<p>網頁內容</p>
<p>網頁內容</p>
<p>網頁內容</p>
<p>網頁內容</p>
<p>網頁內容</p>
……(大家可以把上面的p標簽多復制幾行,以填充網頁內容)
</div>
<!-- 懸浮框結構 -->
<div class="go-top">
<a href="#">返回<br>頂部</a>
</div>
上述代碼中,第2~7行代碼用于簡單填充網頁內容,使網頁出現滾動條;第10~13行代碼用于實現懸浮框結構。
(3)在<style>標簽內編寫頁面樣式,通過fixed固定定位使懸浮框停留在頁面右下角的位置,并美化懸浮框的樣式,將其調整為圓角矩形,背景為淺灰色。
.go-top {
position: fixed; /* 設置fixed固定定位 */
bottom: 20px; /* 距離瀏覽器窗口下邊框20px */
right: 20px; /* 距離瀏覽器窗口右邊框20px */
}
.go-top a {
display: block; /* 將<a>標簽設為塊元素,用于美化樣式 */
text-decoration: none; /* 取消超鏈接下畫線 */
color: #333; /* 設置文本顏色 */
background-color: #f2f2f2; /* 設置背景顏色 */
border: 1px solid #ccc; /* 設置邊框樣式 */
padding: 10px 20px; /* 設置內邊距 */
border-radius: 5px; /* 設置圓角矩形 */
letter-spacing: 2px; /* 設置文字間距 */
}
案例最終的實現效果如下:
*請認真填寫需求信息,我們會在24小時內與您取得聯系。