javascript - 修复了导航栏在回发时消失的问题

标签 javascript asp.net vb.net

我有一个导航栏,当用户向下滚动页面时,该导航栏应保持固定,但每当页面上触发回发时,导航栏就会消失。

知道如何在回发时使栏保持固定吗?

<%@ Page Title="" Language="vb" AutoEventWireup="false" MasterPageFile="~/master/main.Master" CodeBehind="BSCnclWrkOrd.aspx.vb" Inherits="METIS.BSCnclWrkOrd" %>
<%@ Register Assembly="AjaxControlToolkit" Namespace="AjaxControlToolkit" TagPrefix="cc1" %>

<asp:Content ID="Content1" ContentPlaceHolderID="cphHead" runat="server">
    <script type="text/javascript" src="../jvs/jquery-1.11.3.min.js"></script>

    <script type="text/javascript">
        function pageLoad() {
            // Stick the #nav to the top of the window
            var nav = $('#nav');
            var navHomeY = nav.offset().top;
            var isFixed = false;
            var $w = $(window);
            $w.scroll(function () {
                var scrollTop = $w.scrollTop();
                var shouldBeFixed = scrollTop > navHomeY;
                if (shouldBeFixed && !isFixed) {
                    nav.css({
                        position: 'fixed',
                        top: 0,
                        left: nav.offset().left,
                        width: nav.width(),
                        zIndex: "50",
                        boxShadow: "0 2px 1px 0 rgba(179,179,179,0.8)"
                    });
                    isFixed = true;
                }
                else if (!shouldBeFixed && isFixed) {
                    nav.css({
                        position: 'static',
                        boxShadow: "0 0 0 0"
                    });
                    isFixed = false;
                }
            });
        }
    </script>
</asp:Content>

<asp:Content ID="Content2" ContentPlaceHolderID="cphContent" runat="server">
    <asp:UpdatePanel ID="UpdatePanel1" runat="server">
        <ContentTemplate>
            <table align="center" style="width: 100%;" cellpadding="0" cellspacing="0">
                <tr>
                    <td class="pagetitle">
                        <div id="wrap">
                            <div id="header">
                                <div id="navWrap">
                                    <div id="nav">
                                        <table style="width: 100%" cellpadding="0" cellspacing="0">
                                            <tr>
                                                <td align="left" style="font-size: 25px; letter-spacing: 1px; color: #1586a2; width: 579px; padding: 7px 0 7px 0">
                                                    <asp:Label ID="Label3" runat="server" Text="View / Cancel Work Order"></asp:Label>
                                                </td>
                                                <td id="Td1" style="width: 400px">
                                                    <div style="float: right; padding: 3px 0 3px 0">
                                                        <asp:ImageButton ID="ibtnUpdate" runat="server" ImageAlign="Middle" ImageUrl="~/images/btnUpdate.png"
                                                            Style="padding: 5px;" ToolTip="Cancel work order" />
                                                        <cc1:ConfirmButtonExtender ID="ibtnUpdate_ConfirmButtonExtender" runat="server" BehaviorID="ibtnUpdate_ConfirmButtonExtender" ConfirmText="Are you sure you want to cancel the selected work order(s)?" TargetControlID="ibtnUpdate" />
                                                        <asp:ImageButton ID="ibtnRefresh" runat="server" ImageAlign="Middle" ImageUrl="~/images/btnRefresh.png"
                                                            Style="padding: 5px;" ToolTip="Refresh" />
                                                        </asp:DropDownList>
                                                    </div>
                                                </td>
                                            </tr>
                                        </table>
                                    </div>
                                </div>
                            </div>
                        </div>
                    </td>
                </tr>
            </table>
        </ContentTemplate>
    </asp:UpdatePanel>
</asp:Content>

最佳答案

你能试试这个吗? 将其添加到您的代码中的内容标记之后

    `    <asp:ScriptManager ID="ScriptManager" runant="server">     </asp:ScriptManager>

 //then after </contentTemplate> tag add this

<Triggers>
 <asp:AsyncPostBackTrigger ControlID="theControlIDthatTriggersPostBack" />
</Triggers>

关于javascript - 修复了导航栏在回发时消失的问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33663185/

相关文章:

javascript - 在 Android Webview 中预加载 Javascript

javascript - 检查复选框是否被选中

javascript - 有没有一种方法可以整合 jQuery 函数,这些函数在不同的类和 id 上执行相同的操作

asp.net - jQuery、WCF 和 ASP.NET

c# - Razor 中 ViewModel 的模型名称

c# - StringBuilder 中最快的搜索方法

javascript - 使用谷歌文件列表如何只显示我拥有的文件夹而不是共享文件夹?

c# - 雅虎联系人 api asp.net c#

vb.net - 在 UWP 应用程序上使用 VB.net 获取 IPGlobalProperties

c# - 可以设置RequestValidationMode ="2.0"页面级别吗?