jQueryマスク効果の実例分析
5755 ワード
この例では、jQueryマスクの効果を解析します.皆さんの参考にしてください.具体的には以下の通りです.
サンプルコードを見てみましょう.
jQueryの特効に関する詳細について興味のある読者は、「jQueryのよくある古典的な特効要約」を参照してください.
本文で述べたことが皆さんのjQueryプログラム設計に役立つことを望んでいます.
サンプルコードを見てみましょう.
Example | xHTML1.0
其实遮罩层原理很简单。
一个div 遮住下面的内容。
其中比较关键的一个css 样式是
x-index: 整数值
数值越大在越上层,越小就在越下层,可以是负数。
上面的js 代码有部分错误。下面已经修正。
//
function showBox(id) {
var bH = document.body.offsetHeight;//$(window).height();
var bW = document.body.offsetWidth;//$(window).width();
if (bH < $(window).height())
{
bH = $(window).height();
}
$("#full_box").css({width:bW,height:bH,display:"block"});
var objWH = getObjWh('dialog');
var tbT = objWH.split("|")[0] + "px";
var tbL = objWH.split("|")[1] + "px";
if(id=='template'){
$("#div_template").show();
}else if(id == 'history'){
$("#div_history").show();
}else{
$("#tree_"+id).show();
}
$(window).scroll(function (){ resetBox(id);});
$(window).resize(function (){ resetBox(id);});
}
//
function resetBox(id) {
var full_box = $("#full_box").css("display");
if (full_box == 'block') {
var bH = document.body.offsetHeight;//$(window).height();
var bW = document.body.offsetWidth;//$(window).width();
if (bH < $(window).height())
{
bH = $(window).height();
}
var objWH = getObjWh('dialog');
var tbT = objWH.split("|")[0] + "px";
var tbL = objWH.split("|")[1] + "px";
$(".dialog").css({top:tbT,left:tbL});
$("#full_box").css({width:bW,height:bH});
}
}
//
function getObjWh(obj) {
var st = $(window).scrollTop();
var sl = $(window).scrollLeft();
var ch = $(window).height();
var cw = $(window).width();
var objH = $("#"+obj).height();
var objW = $("#"+obj).width();
var objT = Number(st) + (Number(ch) - Number(objH))/2;
var objL = Number(sl) + (Number(cw) - Number(objW))/2;
return objT +"|" +objL;
}
//
function closeBox(id) {
if(id == 'template'){
$("#div_template").hide();
}else if(id == 'history'){
$("#div_history").hide();
}else{
$("#tree_"+id).hide();
}
$("#full_box").hide();
}
jQueryの特効に関する詳細について興味のある読者は、「jQueryのよくある古典的な特効要約」を参照してください.
本文で述べたことが皆さんのjQueryプログラム設計に役立つことを望んでいます.