这个是封装后后的代码,由于看不到代码片段,所以只能根据代码的字面意思来给出解释了
var ct = DIVAgridcolumns;//这个是列数,貌似多少个列,相当于字段,就是取得grid数据表格的列数
var _id = new cttext({ id: "detailID", text: "ID_L" });//
这个应该是给表格字段赋值,id是属性,detailID应该是需要显示的文本或绑定的字段列
text同上
这是一个关于table的 *** 作
var speed=30;//定义函数执行的毫秒数
var tab=documentgetElementById("demo");//得到 id为 demo的对象
var tab1=documentgetElementById("demo1");//得到 id为demo1的对象
var tab2=documentgetElementById("demo2");//得到id为demo2的对象
tab2innerHTML=tab1innerHTML;//将 tab2的样式赋给tab1
/
获取tab2的横坐标和tab的横坐标(距离窗口左侧的长度)进行比较如果小于等于零执行 将
tab的位置还原为tab1的位置(指横坐标)否则将tab向右移动当前坐标的长度
此函数实现了tab的向右移动 并且随着调用次数的增多会越来越快
/
function Marquee(){
if(tab2offsetWidth-tabscrollLeft<=0)
tabscrollLeft-=tab1offsetWidth
else{
tabscrollLeft++;
}
}
var MyMar=setInterval(Marquee,speed);//以30微秒的速度执行Marquee函数
tabonmouseover=function() {//当鼠标移动到tab上时停止tab的滚动
clearInterval(MyMar)
};
tabonmouseout=function() {//当鼠标移开时继续滚动
MyMar=setInterval(Marquee,speed)
};
有很多方法可以实现,基本原理是一样的。你的实现方法是这样的:遮罩部分2个层和登录的层一开始设置的属性为display:none,这是不可见的,点击那个超链接后,开始运行js代码,登录层的内容被复制到了遮罩部分的第二个层里面成为了新的登录层,并设置这个层为最上面,遮罩部分的第一个层设置在新登录层的下面,并设置成充满整个浏览器,背景黑色,透明度为30%,这样你看上去就是半透明的了,并且很大。原来的超链接层再最下面。因为半透明的层在原来超链接层的上面并且很大,所以用鼠标点击的时候只是点击在了半透明的层上面,并没有点击到超链接层上面。
js注释:
////下面 设置了一个空链接
locationhref="#";
//下面2行是赋值
width = div_width;
height = div_height
//下面 得到登录层也就是id为popLayer的层的内容
var windowstr= documentgetElementById("popLayer")innerHTML;
//下面 把登录层内容放到infoDiv层里,形成新的登陆层
documentgetElementById("infoDiv")innerHTML=windowstr;
//下面2行设置新登录层的位置
documentgetElementById("infoDiv")styleleft=((documentbodyclientWidth-width)>0(documentbodyclientWidth-width):0)/2+"px";
documentgetElementById("infoDiv")styletop=200+"px";
//下面设置新登录层的zIndex值,这个值越大显示的时候就越在上面
documentgetElementById("infoDiv")stylezIndex=10001;
//下面2行设置新登录层的宽和高
documentgetElementById("infoDiv")stylewidth=width;
documentgetElementById("infoDiv")styleheight=height;
//设置新登录层边框
documentgetElementById("infoDiv")styleborder="3px solid #0099ff";
//tranDiv层里面包含了2个层 一个是半透明的遮罩层tranDiv,另一个是新的登录层infoDiv。可以把它看做一个容器。下面2行设置它的高和宽为网页内容可视区域的高度和宽度,这样这个层就充满整个浏览器了
documentgetElementById("tranDiv")styleheight=documentbodyclientHeight+ "px";
documentgetElementById("tranDiv")stylewidth=documentbodyclientWidth+ "px";
//下面 设置这个容器层为可见
documentgetElementById("tranDiv")styledisplay="";
//tranDiv就是那个半透明的遮罩层,现在也设置为可见
documentgetElementById("tranDivBack")styledisplay="";
//下面 设置zindex值为10000,这个值比新登录层少1,表明在新登录层的下面
//documentgetElementById("tranDivBack")stylezIndex=10000;
//下面 设置新登录成为可见
//documentgetElementById("infoDiv")styledisplay="";
<!--层遮罩部分-->
下面这个就是容器层,它的左上角位于浏览器的0,0位置就是浏览器的左上角,高度宽度在js里设置
<div style="position:absolute;display:none; left:0px; top:0px;" id="tranDiv">
下面这个是遮罩层 它位于容器层的0,0位置,宽度和高度都是100%,就是他的大小和位置和容器层一样,都是整个网页那么大。下面的filter用的是滤镜,他设置的是半透明,Opacity=30 半透明度30%,#000000是黑色,这样看起来就是黑色半透明的一个大层了
<div style="position:absolute;left:0px; top:0px; width:100%; height:100%;background-color:#000000;filter:alpha(Opacity=30);" id="tranDivBack"> </div>
下面是新的登陆层,位置和高度在这里写了,但是运行js的时候会对其进行重新设置
<div align='center'style='position:absolute;left:0px; top:0px; width:100%; height:100%; background-color:#e5edf5;background-image:url(images/bestnetqywimg/tccbggif);' id='infoDiv'></div>
</div>
<!--层遮罩部分结束-->
(function(index){
// 处理代码
})(i);
楼主一定对上面的代码是怎么执行的完全不明白。在弄清楚为什么去掉i后就没有效果,你必须得先知道这个i到底为什么不能去掉,这种写法又到底是怎么回事。
其实这是一种函数立即调用的写法。也就是定义一个匿名函数,然后立即就执行这个函数。这样的写法相当于:
function tmpName(index){// 处理代码
}
tmpName(i);
再接近一点的写法如下:
var fn = function(index){// 处理代码
}
// 函数调用
fn(i);
你把上面的fn换成function(index){},是不是就是和你的那种写法一样了?只不过换后的函数省去了函数名。
很明显,index是形参,而i是在调用时传递的实参。如果不穿进去一个i,那就相当index参数没有了。这样的话,这个函数中用到的index的值就是null。试想,mDD[index]就变成了mDD[null],数组访问可以这样吗?这样不就出异常了吗?也是因此,不传进去i,会导致异常,会出错。
$(document)ready(function(){
//JQ的预加载这个你应该懂的
$('#select_btn li:first')css('border','none');
//选择id是select_btn的下面的第一LI,设它的CSS的border为none
if ($('#zSlider')length) {
//如果id是zSlider的有内容(长度)那么执行下面的 *** 作
zSlider();
//执行zSlider();这个函数(在下面有定义)
$('#h_sns')find('img')hover(function(){
//在id是h_sns中找IMG这个标签,鼠标移上去后或者移开后执行下面的两端代码
$(this)fadeTo(200,05);
//选中的这个li执行fadeTo(200,05)就是调整它的透明度
}, function(){
$(this)fadeTo(100,1);
//同上
});
}function zSlider(ID, delay){
//这段就是上面当zSlider的有内容(长度)时执行的那段函数了
var ID=IDID:'#zSlider';
//这里是zSlider这个函数的一个默认参数的设置,当不设参数的时候会自动设置ID为#zSlider
var delay=delaydelay:5000;
//同上~也是设置默认参数的
var currentEQ=0, picnum=$('#picshow_img li')size(), autoScrollFUN;
//设置一些函数用的变量,在下面会看到
$('#select_btn li')eq(currentEQ)addClass('current');
//给#select_btn这个ID下的第currentEQ(默认是0)个LI添加current这个CLASS
$('#picshow_img li')eq(currentEQ)show();
//让picshow_img下第currentEQ个LI显示
$('#picshow_tx li')eq(currentEQ)show();
//让picshow_tx下第currentEQ个LI显示
autoScrollFUN=setTimeout(autoScroll, delay);
//获取自动播放给autoScrollFUN以便清楚setTimeout
function autoScroll(){
clearTimeout(autoScrollFUN);
//清楚上面的setTimeout
currentEQ++;
//给currentEQ自加,也就是循环到下一个li
if (currentEQ>picnum-1) currentEQ=0;
//如果超过了之前定的picnum-1那么让currentEQ从O开始也就是循环回第一个LI
$('#select_btn li')removeClass('current');
//select_btn下的LI移除current这个样式
$('#picshow_img li')hide();
//picshow_img下的li隐藏
$('#picshow_tx li')hide()eq(currentEQ)slideDown(400);
//picshow_tx下的li隐藏并且第currentEQ个LI缓慢收起
$('#select_btn li')eq(currentEQ)addClass('current');
//select_btn下的第currentEQ个LI添加样式current
$('#picshow_img li')eq(currentEQ)show();
//picshow_img下的第currentEQ个LI显示
autoScrollFUN = setTimeout(autoScroll, delay);
//然后循环开始
}
$('#picshow')hover(function(){
clearTimeout(autoScrollFUN);
//当鼠标移入picshow时,清楚autoScrollFUN,也就是之前的循环
}, function(){
autoScrollFUN = setTimeout(autoScroll, delay);
//当鼠标移出时继续开始循环
});
$('#select_btn li')hover(function(){
var picEQ=$('#select_btn li')index($(this));
if (picEQ==currentEQ) return false;
currentEQ = picEQ;
$('#select_btn li')removeClass('current');
$('#picshow_img li')hide();
$('#picshow_tx li')hide()eq(currentEQ)slideDown(100);
$('#select_btn li')eq(currentEQ)addClass('current');
$('#picshow_img li')eq(currentEQ)show();
return false;
//这一整段跟上面的差不多~如果你仔细看完上面的解释下面的你自己就应该能看明白了~
});
};
好了~翻译的够仔细了吧~不会的话再私信我~
var oMenu = documentgetElementById('menu');//根据ID获取menu
var aH2 = oMenugetElementsByTagName('h2');//获取所有h2标签
var aUl = oMenugetElementsByTagName('ul');//获取所有ul标签
for(var i=0; i<aH2length; i++){//根据H2标签的长度开始循环
aH2[i]index = i;//这一句是设置当前H2标签的索引
aH2[i]onclick = function(){//这一句是为当前的H2标签添加点击事件
for(var i=0; i<aUllength; i++){//H2被点击后,开始根据aUL的长度开始循环
if(i==thisindex){//i等于当前UL标签的索引
if(aUl[thisindex]styledisplay == 'block'){//如果当前的UL是显示状态
aUl[thisindex]styledisplay = 'none';//设置成隐藏状态
aH2[thisindex]className="active11";//并修改H2标签的样式为active11
}else{//下面的就不解释了 很简单
aUl[thisindex]styledisplay = 'block';
aH2[thisindex]className="active";
}
}else{
aUl[i]styledisplay = 'none';
aH2[i]className="active11";
以上就是关于求JS代码的注释~~~全部的内容,包括:求JS代码的注释~~~、js代码求注释啊、JS代码注释`(div 层遮罩/d出框)等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)