DIV CSS 佈局教程網

 DIV+CSS佈局教程網 >> 網頁腳本 >> JavaScript入門知識 >> jQuery入門知識 >> JQuery入門技巧 >> jQuery實現的模擬彈出窗口功能示例
jQuery實現的模擬彈出窗口功能示例
編輯:JQuery入門技巧     

本文實例講述了jQuery實現的模擬彈出窗口功能。分享給大家供大家參考,具體如下:

//初始化文檔
$(document).ready();
//----------------彈出DIV仿模態窗口開始----------------
var divW;  //DIV寬度
var divH;  //DIV高度
var clientH;  //浏覽器高度
var clientW;  //浏覽器寬度
var divTitle;  //DIV標題
var pageUrl;  //DIV中加載的頁面
var div_X;  //DIV橫坐標
var div_Y;  //DIV縱坐標
function DivWindowOpen(divWidth,divHeight,title,url){
  divW = divWidth;  //DIV寬度
  divH = divHeight;  //DIV高度
  divTitle = title;  //DIV高度
  pageUrl = url;  //DIV中加載的頁面UR
  lockScreen();  //鎖定背景
  divOpen();
  $("#divTitle").append(divTitle);
  $("#divContent").load(pageUrl);
  //交換X圖片
  $("#x").hover(
    function(){
      $(this).attr("src","images/Close-2.gif");
    },
    function(){
      $(this).attr("src","images/Close-1.gif");
    }
  );
  //關閉DIV窗口
  $("#x").click(
    function(){
      clearDivWindow();
      clearLockScreen();
    }
  );
}
//返回彈出的DIV的坐標
function divOpen(){
  var minTop = 80;  //彈出的DIV記頂部的最小距離
  if($("#divWindow").length == 0){
    clientH = $(window).height();  //浏覽器高度
    clientW = $(window).width();  //浏覽器寬度
    div_X = (clientW - divW)/2;  //DIV橫坐標
    div_Y = (clientH - divH)/2;  //DIV縱坐標
    div_X += window.document.documentElement.scrollLeft;  //DIV顯示的實際橫坐標
    div_Y += window.document.documentElement.scrollTop;  //DIV顯示的實際縱坐標
    if(div_Y < minTop){
      div_Y = minTop;
    }
    $("body").append("<div id='divWindow'><div id='divTitle'><img src='images/Close-1.gif' id='x' /></div><div id='divContent'>載入中</div></div>");  //增加DIV
    //divWindow的樣式
    $("#divWindow").css("position","absolute");
    $("#divWindow").css("z-index","200");
    $("#divWindow").css("left",(div_X + "px"));  //定位DIV的橫坐標
    $("#divWindow").css("top",(div_Y + "px"));  //定位DIV的縱坐標
    $("#divWindow").css("opacity","0.9");
    $("#divWindow").width(divW);
    $("#divWindow").height(divH);
    $("#divWindow").css("background-color","#FFFFFF");
    $("#divWindow").css("border","solid 1px #333333");
    //divTitle的樣式
    $("#divTitle").css("height","20px");
    $("#divTitle").css("line-height","20px");
    $("#divTitle").css("background-color","#333333");
    $("#divTitle").css("padding","3px 5px 1px 5px");
    $("#divTitle").css("color","#FFFFFF");
    $("#divTitle").css("font-weight","bold");
    //x的樣式
    $("#x").css("float","right");
    $("#x").css("cursor","pointer");
    //divContent的樣式
    $("#divContent").css("padding","10px");
  }
  else{
    clientH = $(window).height();  //浏覽器高度
    clientW = $(window).width();  //浏覽器寬度
    div_X = (clientW - divW)/2;  //DIV橫坐標
    div_Y = (clientH - divH)/2;  //DIV縱坐標
    div_X += window.document.documentElement.scrollLeft;  //DIV顯示的實際橫坐標
    div_Y += window.document.documentElement.scrollTop;  //DIV顯示的實際縱坐標
    if(div_Y < minTop){
      div_Y = minTop;
    }
    $("#divWindow").css("left",(div_X + "px"));  //定位DIV的橫坐標
    $("#divWindow").css("top",(div_Y + "px"));  //定位DIV的縱坐標
  }
}
//鎖定背景屏幕
function lockScreen(){
  if($("#divLock").length == 0){  //判斷DIV是否存在
    clientH = $(window).height();  //浏覽器高度
    clientW = $(window).width();  //浏覽器寬度
    //var docH = $("body").height();  //網頁高度
    //var docW = $("body").width();  //網頁寬度
    //var bgW = clientW > docW ? clientW : docW;  //取有效寬
    //var bgH = clientH > docH ? clientH : docH;  //取有效高
    $("body").append("<div id='divLock'></div>")  //增加DIV
    $("#divLock").height(clientH);
    $("#divLock").width(clientW);
    $("#divLock").css("display","block");
    $("#divLock").css("background-color","#000000");
    $("#divLock").css("position","fixed");
    $("#divLock").css("z-index","100");
    $("#divLock").css("top","0px");
    $("#divLock").css("left","0px");
    $("#divLock").css("opacity","0.5");
  }
  else{
    clientH = $(window).height();  //浏覽器高度
    clientW = $(window).width();  //浏覽器寬度
    $("#divLock").height(clientH);
    $("#divLock").width(clientW);
  }
}
//清除背景鎖定
function clearLockScreen(){
  $("#divLock").remove();
}
//清除DIV窗口
function clearDivWindow(){
  $("#divWindow").remove();
}
//窗口大小改變時
$(window).resize(
    function(){
      if($("#divLock").length != 0){
        lockScreen();
      }
      if($("#divWindow").length != 0){
        divOpen();
      }
    }
);
//----------------彈出DIV仿模態窗口結束----------------
//改變風格
function ChangeStyle(styleName){
  skinName = styleName;
  //SetCookie("Skin", skinName);
  alert(styleName);
  window.location.reload();
}

更多關於jQuery相關內容感興趣的讀者可查看本站專題:《jQuery窗口操作技巧總結》、《jQuery擴展技巧總結》、《jQuery常用插件及用法總結》、《jQuery拖拽特效與技巧總結》、《jQuery表格(table)操作技巧匯總》、《jquery中Ajax用法總結》、《jQuery常見經典特效匯總》、《jQuery動畫與特效用法總結》及《jquery選擇器用法總結》

希望本文所述對大家jQuery程序設計有所幫助。

XML學習教程| jQuery入門知識| AJAX入門| Dreamweaver教程| Fireworks入門知識| SEO技巧| SEO優化集錦|
Copyright © DIV+CSS佈局教程網 All Rights Reserved