Maison  >  Article  >  interface Web  >  jQuery AJAX implémente l'interface de vérification de connexion de la couche de masque (code source joint)_jquery

jQuery AJAX implémente l'interface de vérification de connexion de la couche de masque (code source joint)_jquery

WBOY
WBOYoriginal
2016-05-16 15:35:181663parcourir

Implémentation de l'effet de l'interface de connexion de la couche de masque JQuery, vérification de la connexion de l'implémentation AJAX, téléchargement complet d'un exemple de code source à la fin de l'article, tout le monde est invité à étudier et à étudier.

Système d'exploitation : Windwos7 Ultimate

Outils de développement : Visual Studio 2010

Base de données : Sql Server 2005

Navigateurs de test : IE8, FF3.6.8, Google Chrome (dans IE8, une barre verticale apparaîtra après l'apparition de la couche de connexion, mais les deux autres n'apparaissent pas. La barre verticale peut être modifiée dans JS pour l'empêcher de qui apparaîtra. Mais il y aura une bordure blanche en dessous, et j'ai de plus en plus l'impression que IE c'est un peu ça...)
1. Aperçu

1) Avant de vous connecter

2) Cliquez sur Connexion pour afficher la fenêtre de connexion (couche) et utilisez un calque gris transparent pour couvrir le contenu principal du formulaire. Cliquez sur [Connexion], masquez [Connexion], affichez l'image de chargement, si la connexion échoue, affichez. [Connexion], masquer l'image de connexion et afficher les informations d'invite

3) Une fois la connexion réussie, supprimez le calque de masque et le calque de connexion, et affichez "xxx, bonjour !"

2.Mise en œuvre

Utilisez VS2010 pour créer un site Web. Cette fonction est implémentée dans la page maître Site.master. VS2010 ajoutera automatiquement le fichier JQuery js au dossier Scripts et créera une page maître et deux formulaires basés sur cette page maître, Default.aspx et About.aspx.

1) Conception de l'interface de la couche de connexion, voir le code dans Site.master

<%@ Master Language="C#" AutoEventWireup="true" CodeFile="Site.master.cs" Inherits="SiteMaster" %>

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en">
<head runat="server">
 <title>FlyNoteBook</title>
 <script src="Scripts/jquery-1.4.1.min.js" type="text/javascript"></script>
 <script type="text/javascript" src="Scripts/common.js"></script>
 <link href="~/Styles/Site.css" rel="stylesheet" type="text/css" />
 <script type="text/javascript" src="Scripts/login.js"></script>
 <asp:ContentPlaceHolder ID="HeadContent" runat="server">
 </asp:ContentPlaceHolder>
</head>
<body>
 <form runat="server">
 <div class="page">
 <div class="header">
 <div class="title">
   <img src="Images/Pictures/logo3.png" alt="FlyNoteBook Logo" />
  FlyNoteBook
 </div>
 <div class="loginDisplay">
 <span id="popup" runat="server">登录</span>
 <span id="loginSuccess" runat="server"></span>
 </div>
 <div class="clear hideSkiplink">
 <asp:Menu ID="NavigationMenu" runat="server" CssClass="menu" EnableViewState="false"
  IncludeStyleBlock="false" Orientation="Horizontal">
  <Items>
  <asp:MenuItem NavigateUrl="~/Default.aspx" Text="首页" />
  <asp:MenuItem NavigateUrl="~/About.aspx" Text="关于" />
  </Items>
 </asp:Menu>
 </div>
 </div>
 <!--登录窗口:Begin-->
 <div id="divLoginWindow">
 <table style="width: 100%;" border="0" cellpadding="2" cellspacing="0">
 <tr style="background-color: #e0f3d9; border-bottom: #bfe5b3 solid 2px">
  <td style="height: 38px; width: 100px;">
   用户登录
  </td>
  <td>
  <img src="Images/Button/close.gif" id="closeBtn" align="absmiddle" alt="jQuery AJAX implémente linterface de vérification de connexion de la couche de masque (code source joint)_jquery" title="jQuery AJAX implémente linterface de vérification de connexion de la couche de masque (code source joint)_jquery" />
  </td>
 </tr>
 <tr>
  <td colspan="2" style="height: 5px;">
  </td>
 </tr>
 <tr>
  <td align="right">
   用户名:
  </td>
  <td>
   <asp:TextBox ID="txtUserName" runat="server"></asp:TextBox>
  </td>
 </tr>
 <tr>
  <td align="right">
   密   码:
  </td>
  <td>
   <asp:TextBox ID="txtPassword" TextMode="Password" runat="server"></asp:TextBox>
  </td>
 </tr>
 <tr>
  <td align="right">
   验证码:
  </td>
  <td>
   <asp:TextBox ID="txtCode" Style="width: 88px;" runat="server"></asp:TextBox>
  <img src="Code.aspx" id="imgRndCode"   style="max-width:90%" onclick="ChangeCode(this);"
  alt="验证码" title="看不清,点击图片更换图片" />
  </td>
 </tr>
 <tr>
  <td colspan="2" align="center">
  <a onclick="CheckLogin()" id="alogin">登 录</a>
  <img id="loading" src="Images/Loading/loading04.gif" alt="正在登录" title="正在登录..." />
  <br />
  <span id="showMes"></span>
  </td>
 </tr>
 </table>
 </div>
 <!--登录窗口:End-->
 <div class="main">
 <asp:ContentPlaceHolder ID="MainContent" runat="server" />
 </div>
 <div class="clear">
 </div>
 </div>
 <div class="footer">
 <a href="http://www.cnblogs.com/Ferry/">By Ferry</a>
 </div>
 </form>
</body>
</html>
 

2) Le code du fichier js Scripts/common.js qui implémente le calque de masque et le calque qui fait apparaître l'interface de connexion. Notez que les ID de certains éléments de la page maître du site. les maîtres y sont écrits en dur

$(function () {
 var screenwidth, screenheight, mytop, getPosLeft, getPosTop
 screenwidth = $(window).width();
 screenheight = $(window).height();
 //获取滚动条距顶部的偏移
 mytop = $(document).scrollTop();
 //计算弹出层的left
 getPosLeft = screenwidth / 2 - 200;
 //计算弹出层的top
 getPosTop = screenheight / 2 - 150;
 //css定位弹出层
 $("#divLoginWindow").css({ "left": getPosLeft, "top": getPosTop });
 //当浏览器窗口大小改变时
 $(window).resize(function () {
 screenwidth = $(window).width();
 screenheight = $(window).height();
 mytop = $(document).scrollTop();
 getPosLeft = screenwidth / 2 - 200;
 getPosTop = screenheight / 2 - 150;
 $("#divLoginWindow").css({ "left": getPosLeft, "top": getPosTop + mytop });
 });
 //当拉动滚动条时,弹出层跟着移动
 $(window).scroll(function () {
 screenwidth = $(window).width();
 screenheight = $(window).height();
 mytop = $(document).scrollTop();
 getPosLeft = screenwidth / 2 - 200;
 getPosTop = screenheight / 2 - 150;
 $("#divLoginWindow").css({ "left": getPosLeft, "top": getPosTop + mytop });
 });
 //点击链接弹出登录窗口
 $("#popup").click(function () {
 $("#divLoginWindow").fadeIn("slow"); //toggle("slow"); 
 $("#txtUserName").focus();
 //获取页面文档的高度
 var docheight = $(document).height();
 //追加一个层,使背景变灰
 $("body").append("<div id='greybackground'></div>");
 $("#greybackground").css({ "opacity": "0.5", "height": docheight });
 return false;
 });
 //点击jQuery AJAX implémente linterface de vérification de connexion de la couche de masque (code source joint)_jquery按钮
 $("#closeBtn").click(function () {
 $("#divLoginWindow").fadeOut("slow"); ////hide();
 //删除变灰的层
 $("#greybackground").remove();
 return false;
 });
});

//更换验证码图片
function ChangeCode(obj) {
 obj.src = "Code.aspx&#63;" + Math.random();
} 

 

3) Cliquez sur [Connexion] pour implémenter le code du fichier js Scripts/login.js qui implémente la fonction de vérification de connexion AJAX

var count = 0;
$(document).ready(function () {
 $("#loading").hide()
});

function CheckLogin() {
 $("#alogin").hide();
 $("#loading").show();
 var txtCode = $("#txtCode");
 var txtName = $("#txtUserName");
 var txtPwd = $("#txtPassword");
 $.ajax({
 url: "CheckLogin.aspx&#63;Code=" + txtCode.val() + "&Name=" + txtName.val() + "&Pwd=" + txtPwd.val(),
 type: "post",
 datatype: "text",
 success: function (returnValue) {
 if (returnValue != "false") {
 $("#popup").hide();
 $("#showMes").hide();
 $("#loginSuccess").html(returnValue + ',您好!');
 $("#divLoginWindow").remove();
 $("#greybackground").remove();
 $("#showMes").hide();
 }
 else {
 count = count + 1;
 $("#loading").hide();
 $("#alogin").show();
 $("#showMes").show();
 $("#showMes").html("<font color=red>登录失败,请检查后重试!(" + count + "次)</font>");
 }
 }
 })
}


4) Le code d'arrière-plan CheckLogin.aspx demandé, la réception efface la ligne de commande de la page restante

using System;
using System.Data;

public partial class CheckLogin : System.Web.UI.Page
{
 protected void Page_Load(object sender, EventArgs e)
 {
 try
 {
 String strCode = Request.QueryString["Code"];
 String strName = Request.QueryString["Name"];
 String strPassword = Request.QueryString["Pwd"];

 if (strCode != Session["Code"].ToString())
 {
 Response.Write("false");
 }
 else
 {
 DAO.SqlHelper helper = new DAO.SqlHelper();
 DataTable dt = helper.FillDataTable(String.Format("Select UserName,TrueName From Clients Where UserName='{0}' And Password='{1}'",
  strName,
  strPassword
  ));
 if (dt != null && dt.Rows.Count > 0)
 {
  Session["TrueName"] = dt.Rows[0]["TrueName"].ToString();
  Response.Write(dt.Rows[0]["TrueName"].ToString());
 }
 else
 {
  Response.Write("false");
 }
 }
 }
 catch
 {
 Response.Write("false");
 }
 }
}
Téléchargement du code source :

jQuery AJAX implémente une interface de vérification de connexion par couche de masque

Ce qui précède est l'intégralité du contenu de jQuery pour implémenter l'interface de connexion de la couche de masque et d'AJAX pour implémenter la vérification de connexion. J'espère que cela sera utile à l'apprentissage de chacun

.

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn