置頂事件

//css代碼

<style>

html,body {width: 100%;margin: 0;padding: 0;}

.container {width: 100%;margin: 0;padding: 0;padding-bottom: 800px;}

header {background: lightblue;width: 100%;height: 80px;position: fixed;top: 0;left: 0;}

.mark {height: 20px;position: fixed;width: 80%;top: 80px;/* line-height: 40px; *//*background: #fff;*//*color:red;*/margin-left: 10%;background: lightseagreen;}

.content {width: 80%;margin: 140px auto 0;background: lightsalmon;}

.itemContainer{list-style-type: none;margin: 0;padding: 0;}

.kx-time {background: lightseagreen;height: 40px;line-height: 40px;}

</style>

<script srrc=""js/jquery.min.js""></script>

//html代碼

<div class="container">

<header></header>

<div class="mark"></div>

<div class="content"></div>

<ul>

<p class="kx-time">task01</p>

<li class="aaa" attr="task01">

<div>

Lorem ipsum dolor sit amet, consectetur adipisicing elit. Cupiditate ex facilis nostrum rerum. Aliquam asperiores debitis

laborum laudantium, magni nemo nihil nisi perferendis porro rem repellendus rerum tempore velit voluptas? Lorem ipsum

dolor sit amet, consectetur adipisicing elit. A, consequuntur error expedita explicabo incidunt maiores placeat praesentium

quasi quidem vero! Accusantium deleniti enim molestias nesciunt provident quibusdam repudiandae sit, ut. Lorem ipsum

dolor sit amet, consectetur adipisicing elit. Accusantium, aperiam, cum debitis dolorem dolores magni neque obcaecati

optio repellat rerum sed velit. Consequatur nemo omnis quam qui reprehenderit unde voluptate.

</div>

<li>

</ul>

</div>

<script>

$(window).load(function () {

//獲取第一個標題元素距離頁面頂端的距離?

var top = $(".kx-time:first").offset().top;

var headerHeight = $("header").height();

//移動頁面,使第一個title元素到mark的位置,并將title中的文字給mark?

window.scrollTo(0, top - headerHeight);

$(".mark").html($(".kx-time:first").html());

/**?

* 滾動事件?

*/

var titles = $(".kx-time");

var obj = {};

for (var i = 0; i < titles.length; i++) {

obj["top" + i] = $(titles[i]).offset().top - headerHeight;

}

$(window).scroll(function () {

//如果頁面向上拉伸的距離大于等于哪個title距離頂部的距離,就將哪個title中的文字給mark?

for (var i = 0; i < titles.length; i++) {

if ($(window).scrollTop() >= obj["top" + i]) {

// console.log(111)

$(".mark").html($(".kx-time").eq(i).html());

$(".mark").css("height", "40px");

// console.log(22222)

} else if ($(window).scrollTop() >= obj["top" + (titles.length - 1)] &&

$(window).scrollTop() <= obj["top" + (titles.length - 1)] + parseFloat($(".kx-time").eq(titles.length - 1).next('div').height())) {

$(".mark").html($(".kx-time").eq(titles.length -1 ).html());

$(".mark").css("height", "40px");

} else if ($(window).scrollTop() <= obj.top0) {

$(".mark").html("");

$(".mark").css("height", "0");

} else if ($(window).scrollTop() >= obj["top" + (titles.length - 1)] + parseFloat($(".kx-time").eq(titles.length - 1).next('div').height())) {

$(".mark").html("");

$(".mark").css("height", "40px");

}

}

});

});

</script>

?著作權歸作者所有,轉載或內容合作請聯(lián)系作者
【社區(qū)內容提示】社區(qū)部分內容疑似由AI輔助生成,瀏覽時請結合常識與多方信息審慎甄別。
平臺聲明:文章內容(如有圖片或視頻亦包括在內)由作者上傳并發(fā)布,文章內容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務。

相關閱讀更多精彩內容

  • 1. tab列表折疊效果 html: 能源系統(tǒng)事業(yè)部 崗位名稱: 工作地點 崗位名...
    lilyping閱讀 2,015評論 0 1
  • 事件源對象 event.srcElement.tagName event.srcElement.type 捕獲釋放...
    孤魂草閱讀 1,007評論 0 0
  • 第2章 基本語法 2.1 概述 基本句法和變量 語句 JavaScript程序的執(zhí)行單位為行(line),也就是一...
    悟名先生閱讀 4,569評論 0 13
  • 背景 一年多以前我在知乎上答了有關LeetCode的問題, 分享了一些自己做題目的經(jīng)驗。 張土汪:刷leetcod...
    土汪閱讀 12,927評論 0 33
  • 作業(yè): 1.寫一兩段話(如回憶一個場景),其中包含有觸覺和身體感覺。 月末時常有暴雨,我在店里吃面。天氣悶悶的,屋...
    迷鹿人閱讀 330評論 1 0

友情鏈接更多精彩內容