【发布时间】:2014-11-01 18:43:46
【问题描述】:
我有以下脚本,它从右侧滑入/滑出 DIV:
// jQuery 1.9 > Toggle Event dep 1.8
$('#slideClick').click(function () {
var it = $(this).data('it') || 1;
switch (it) {
case 1:
$(this).parent().animate({ right: '-290px' }, { queue: false, duration: 500 });
$("#imgArrow").attr("src", "../theImages/arrow_expand.png");
break;
case 2:
$(this).parent().animate({ right: '-0px' }, { queue: false, duration: 500 });
$("#imgArrow").attr("src", "../theImages/arrow_collapse.png");
break;
}
it++;
if (it > 2) it = 1;
$(this).data('it', it);
});
MasterPage中对应上述脚本的HTML代码为:
<div id="slideOut" class="clearfix">
<div id="slideContent">
<div style="width: 98%; margin: 0 auto; padding: 5px;">
<div id="dvImpMsgs" style="padding-left: 10px; padding-right: 10px;">
<asp:UpdatePanel runat="server" ID="upMessage" ClientIDMode="Static" UpdateMode="Conditional">
<ContentTemplate>
<asp:Label ID="lblMessage" Font-Size="x-small" runat="server" Text="" ClientIDMode="Static"></asp:Label>
</ContentTemplate>
</asp:UpdatePanel>
</div>
</div>
</div>
<div id="slideClick">
<div style="padding: 0; margin: 0 auto; width: 100%; height: 100%; text-align: center;">
<div class="arrowMsg">
<img src="../theImages/arrow_collapse.png" id="imgArrow" style="width: 12px; height: 18px; border: 0; vertical-align: middle;" />
</div>
<div style="width: 80px; height: 50px; float: right; margin: 0; padding: 0;">
<div style="width: 80px; height: 30px; text-align: center; line-height: 30px; vertical-align: middle;" class="brClear">
<img src="../theImages/iMsg.png" style="width: 30px; height: 30px; border: 0" />
</div>
<div style="color: #FFFFFF; width: 80px; height: 20px; text-align: center; line-height: 20px; vertical-align: middle; font-size: 10px;" class="brClear">
MESSAGES
</div>
</div>
</div>
</div>
</div>
每次用户访问页面时,滑出都是真实的,这会迫使用户单击slideclick DIV 将其关闭,这可能对用户不友好。
如何使用 cookie 或会话,以便发生以下情况:
用户第一次访问时,会在滑出位置显示 DIV,一旦他们单击 slideclick DIV 以隐藏。它将继续对用户隐藏,直到浏览器关闭,在这种情况下,一旦用户再次重新打开浏览器,DIV 应该处于滑出位置,直到用户单击 slideclick DIV 隐藏,并且以此类推。
滑出位置:
隐藏位置:
【问题讨论】: