1. 程式人生 > >滾動條下拉時 table 的thead 固定在網頁固定在頂部不動

滾動條下拉時 table 的thead 固定在網頁固定在頂部不動

一、效果圖

二、前端頁面

核心程式碼:

1、固定頂部

position:fixed;top:0px
2、左右滾動條
OVERFLOW-X: scroll;width:720px;
3、時間內容越出單元格顯示
position: relative;bottom:30px;

<%@ page contentType="text/html;charset=UTF-8" language="java" %>
<%@ include file="/WEB-INF/views/include/taglib.jsp" %>
<meta name="viewport"
      content="width=device-width, initial-scale=1.0, minimum-scale=1.0, maximum-scale=1.0, user-scalable=no">
<html>
<head>
    <title>場地預定</title>
</head>
<style type="text/css">
    .table-chang{margin-left: 0px;overflow: hidden;float: left;border-collapse: separate;border-spacing:5px}
    .table-chang th{width: 120px;min-width:120px;max-width:120px;height: 60px;font-weight: normal;text-align: center;color: #323232}
    .table-chang td{width: 120px;min-width:120px;max-width:120px;height: 60px;background: #FFF;text-align: center;color: #fff;font-size: 20px;padding:0px;border: 1px solid  #FFFFFF;}
    .table-chang td a{display: block;width: 100%;height: 100%;}
    .table-chang td.access{background: #FFF;color:#A62A04;border: 1px dashed #A62A04;}
    .table-chang td.unavailable{background: #F0F0F0;color:#C8C8C8}
    .table-chang td.unPayed{background: #F0860C;}
    .table-chang td div.unPayed{background: #F0860C;}
    .table-chang thead th{font-size: 22px;border:1px;background:transparent}
    .table-chang thead tr td .time_cell{width:30px;height:30px;text-align: center;color: #323232}
    .table-chang tbody tr td .time_cell {width:30px;height:30px;font-size:20px;color:#000;border:0px;background: transparent;}
    .table-chang tbody tr td .time_cell span{font-size:22px;float: right;}
</style>
<body>
<div id="reserveStatus" style="OVERFLOW-X: scroll;width:720px;" align=center>
    <table class="table-chang">
        <thead id="fieldThead"  style="position:fixed;top:0px;margin-left:-5px;background-color: #ffffff">
        <%--場地--%>
        <tr>
            <th></th>
            <c:forEach items="${venueFieldPriceList}" var="field" varStatus="status">
                <th>${field.fieldName}</th>
            </c:forEach>
        </tr>
        <%--場地--%>
        </thead>

        <tbody>
        <div style="margin-top:60px;">
            <%-- 遍歷所有場地開始--%>
            <c:forEach items="${times}" var="t">
                <tr>
                        <%-- 縱座標:時間--%>
                    <td style="width: 30px;position: relative;bottom:30px;">
                        <span class="time_cell">
                                ${fn:substring(t, 0, 5)}
                        </span>
                    </td>

                        <%-- 橫座標:場地狀態--%>
                    <c:forEach items="${venueFieldPriceList}" var="field" varStatus="status">
                        <c:set var="status" value="0"/>
                        <%--遍歷單個場地的時間、價格組成的Jason 獲得狀態--%>
                        <c:forEach items="${field.timePriceList}" var="tp">
                            <%--場地jason的時間與橫座標的時間一致 --%>
                            <j:if test="${t eq tp.time}">
                                <%--設定單個場地 時間T 的狀態--%>
                                <c:set var="status" value="${tp.status}"/>
                                <c:set var="price" value="${tp.price}"/>
                                <%-- A場地 B時間 的狀態 結束--%>
                            </j:if>
                        </c:forEach>


                        <%--設定td的class--%>
                        <j:if test="${'0' eq status}">
                            <c:set var="tdClass" value="reserveTd access"/>
                        </j:if>
                        <j:if test="${!('0' eq status)}">
                            <c:set var="tdClass" value="reserveTd unavailable"/>
                        </j:if>
                        <%--設定td的class end--%>

                        <%-- 場地 B時間 的狀態展示--%>

                        <td status="${status}"
                            class="${tdClass}"
                            data-price="${price}"
                            data-field-id="${field.fieldId}"
                            data-field-name="${field.fieldName}"
                            data-time="${t}"
                        >
                            <j:if test="${'0' eq status}">
                                ¥ ${price}
                            </j:if>
                            <j:if test="${!('0' eq status)}">
                                <span>已預訂</span>
                            </j:if>

                        </td>
                        <%-- A場地 B時間 的狀態展示 結束--%>
                    </c:forEach>
                        <%-- 橫座標:時間 結束--%>
                </tr>
                <%-- 縱座標:場地 結束--%>
            </c:forEach>
        </div>
        <%-- 遍歷所有全場 場地結束--%>
        </tbody>

    </table>
</div>
<div class="row" style="display: none">
    <div id="unPayed" class="row">
    </div>
    <form id="orderForm">
        <input name="consDate" value="${consDate}" type="hidden">
        <input name="reserveVenueId" value="${venueId}" type="hidden">
        <%--<span id="reserve_submit"><a class="btn btn-success col-sm-10" style="height: 80px;width:100%;font-size: 50px;line-height: 80px;" onclick="filedSelectJson()">提交</a></span>--%>
    </form>
</div>
<script type="text/javascript" src="${ctxStatic}/jquery/jquery-1.9.1.js"></script>
<script>
    document.write("<script type='text/javascript' src='${ctxStatic}/modules/reserve/js/reserve_app_field.js?t=" + Math.random() + "'><\/script>");
</script>
</body>
</html>



三、當頁面左右滑動時,thead也做出相應的移動

$(document).ready(function () {
    $("#reserveStatus").scroll(function () {
        var scrollLeft=$("#reserveStatus").scrollLeft();
        var margin_left=Number(-5)-Number(scrollLeft);
        $("#fieldThead").css({"margin-left":margin_left});
    });
}


相關推薦

滾動 tablethead 固定網頁固定頂部

一、效果圖 二、前端頁面 核心程式碼: 1、固定頂部 position:fixed;top:0px2、左右滾動條 OVERFLOW-X: scroll;width:720px;3、時間內容越出單元格顯示 position: relative;bottom:30px;<

JQ-滾動無限的加載數據

範圍 on() wid log body class scrollto idt 下拉 一、原理   利用滾動的高度,如果滾動的高度到達一定範圍,就加載數據 二、實現   利用$(document.body).outerWidth()獲取的是屏幕的高度,這個是固定的,不變的

JS jQuery滾動到底觸發事件

var edit=true;//可控元素         $(window).scroll(            &n

jquery獲取滾動值-式載入資料

var docHeight = $(document).height(); // 獲取整個頁面的高度 //var winHeight = $(window).height(); // 獲取當前窗體的高度 ,用window獲取的值跟document獲取的值是相同的不能用 var

隨著滾動來載入頁面內容

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html

火狐瀏覽器滾動到底部觸發ajax出現閃屏的問題(Ajax請求中的async:false/true的作用)

最近做東西用到ajax,我在火狐下firebug打斷點一點問題都沒有,可是關了firebug,程式不進後臺方法,納悶了好久,從來沒有遇到過這種情況,最後加了一個引數async:false好了,還是很納悶,以前寫了那麼多ajax相關程式碼從來沒遇到過這種情況,原來對asy:n

vue 監聽某個div垂直滾動到底部

this.$nextTick(() => {constel=document.querySelector('.act-not');constoffsetHeight=el.offsetHeight;el.onscroll= () => {constscrollTo

#學習筆記#(28)+JS瀑布流-滾動載入圖片

waterfall.html <html> <head> <title>瀑布流佈局</title> <meta charset="gb2312"/> <link type="text/css"

ie9 scrollbar bug(IE9父容器overflow:auto,子容器狀態更改導致滾動出現額外空間)

轉自文章  http://www.jackness.org/2011/10/18/ie9-scrollbar-bug/ 當我們製作表單的時候,有時候會遇到資料過長,表單列數過多,需要橫向滾動條的需求,我們一般的做法是 給這個表格的外層加一個 scroll_a

git從碼雲上往的問題

pos 圖片 登陸 epo 原因 there 下拉 art 選中 再登陸後自己從碼雲上往下下載時出現 as報錯 ******.is registered as a Git root, but no Git repositories were found there. 原因:

vue 獲取滾動載入

scrollLoding() { //載入事件 let self = this; // 註冊scroll事件並監聽 if (self.lists.length >= 20) { console.log(

banner實現無限輪播+重新整理上載入+ listview 和輪播圖一起重新整理

//首先把所需要的依賴包匯入  gson jar包、imageLoader jar包、banner1.4.9jar包、design jar包,,,然後匯入library,新建專案,把library匯入專案中 //新增許可權 <uses-permiss

dorado7.x 複選框實現以及位置浮動固定在下框的問題及解決辦法

在所需的property,設定trigger 下一步: 設定onExcute: var ChannelInputs=view.get("#ChannelInputs"); view.get("#dataSetChannel").flushAsync(); ChannelInp

列表滾動觸發重新整理的實現

思路:首先需要一個觸發事件,來觸發載入更多這一事件,在觸發的函式中,彈出一個載入的頁面,並將向後臺傳輸的page_size加5,然後判斷載入資料的長度是否為0。如果為不為0,則給loadAll附一個值,利用三目運算子,判斷載入的狀態,渲染頁面。html:js:

EXCEL 使用自動增加

    在EXCEL種,可以使用下拉功能複製或擴充套件單元格的內容。也就是說,選中單元格,在出現黑十字時下拉,可以快速地複製選中單元格中的內容,也可以在新單元格中填充選中單元格擴充套件後的功能,如數字或日期後會自動加1。 1、自動增加 對序號列、日期列(或行)進行擴充套件。

JavaScript解決select框中的內容太長顯示全的問題

分享一下我老師大神的人工智慧教程!零基礎,通俗易懂!http://blog.csdn.net/jiangjunshow 也歡迎大家轉載本篇文章。分享知識,造福人民,實現我們中華民族偉大復興!        

Axure導航欄移入移出顯示隱藏選單——紀梵希官網導航欄

最近學習了一下網頁原型製作。仿照紀梵希官網做的網頁原型,其中導航欄涉及邏輯較複雜,打卡記錄一下。 首先,分析官網導航欄動效的需求: 1.滑鼠點選導航選項卡,跳轉至對應的導航頁面。 2.滑鼠移入導航選項卡時,出現對應的下拉選單,選項卡下方顯示選中狀態。 3.滑鼠向上移出選項卡時,下

微信小程式選擇框—相當於網頁的select

index.html <view class='select_box'> <view class='select' catchtap='selectTap'>

工行網銀網上支付 提示選擇證書,但框是空白,無法選擇導致能支付 解決辦法

      工行助手也已經檢查過,所有驅動都已經安裝正確,但就是支付時出現選擇證書,但證書下拉選單卻是空白沒法選擇,所以不能進行支付。      原來是 工行二代U盾證書服務沒有啟動,或被安全軟體禁用了。      進入C盤C:\WINDOWS\system32雙擊執行hh

啟動u3d,一直卡在Loading介面如何解決?

問題 之前也碰到過這種情況,自己百度搜了下也解決了,今天一同事也碰到這種情況,然後就過去幫他解決了。應該還有很多人也遇到過這種情況,所以特寫此篇部落格供各位看官老爺“欣賞”。哈哈 解決方案1:文解過程 1.開啟C:\Users(使用者)"這裡是自己的使用者名稱稱,找到 AppData