//1.var定义的变量可以修改,如果不初始化会输出undefined,不会报错。
var a;
console.log(a); //undefined
//2.let是块级作用域,函数内部使用let定义后,对函数外部无影响。
let c = 3;
console.log(c)
function change(){
let c = 6;
console.log(c)
}
change();
(1)只要块级作用域于中存在let命令,它所声明的变量就绑定在这个区域中,不再受外部的影响。
var a = 10;
{
console.log(a); //undefined (作用域内部变量不受外部影响,还有就是let不存在变量提升,所以才会报未定义)
let a = 3;
console.log(a); //3
}
(2)let不允许在同一个作用域内,重复声明同一个变量
{
var a = 2;
let a = 2;
console.log(a) // Error: Identifier 'a' has already been declared
}
//3.const定义的变量不可以修改,而且必须初始化。
//const b; //这样定义不对,必须赋值初始化
const b=1;
金装律师台词 经典台词 诉讼双雄 Face reality as it is, not as it was or as you wish it to be. being a lawyer is like being a doctor, you keep pressing until it hurts, then you know where to look Sometimes good is not good enough Harvey we play games, something we win, somtimes we lose You keep pressing until it hurts. Then you know where to look.
<script type="text/javascript">
window.onload=function(){
var obox=document.getElementById("box");
var oshow=document.getElementById("show");
var nodes=obox.getElementsByTagName("*");
oshow.innerHTML=nodes.length;
}
</script>
#495
#496
除了少活20年我根本想不到其他方法
#497
//1.var定义的变量可以修改,如果不初始化会输出undefined,不会报错。 var a; console.log(a); //undefined //2.let是块级作用域,函数内部使用let定义后,对函数外部无影响。 let c = 3; console.log(c) function change(){ let c = 6; console.log(c) } change(); (1)只要块级作用域于中存在let命令,它所声明的变量就绑定在这个区域中,不再受外部的影响。 var a = 10; { console.log(a); //undefined (作用域内部变量不受外部影响,还有就是let不存在变量提升,所以才会报未定义) let a = 3; console.log(a); //3 } (2)let不允许在同一个作用域内,重复声明同一个变量 { var a = 2; let a = 2; console.log(a) // Error: Identifier 'a' has already been declared } //3.const定义的变量不可以修改,而且必须初始化。 //const b; //这样定义不对,必须赋值初始化 const b=1;//获取窗口的滚动条的垂直位置 var s = $(window).scrollTop();#498
<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <title>滑动刻度线</title> </head> <body onload="init()"> <div> <canvas id="scaleLine" width=450 height=60 style="border:1px solid grey;"></canvas> </div> <script> var myCanvas = document.getElementById("scaleLine"), ctx = myCanvas.getContext("2d"); var w = 420, h = 60, x, y, ax, ay; //画刻度线,刻度值 function draw() { ctx.clearRect(0, 0, 450, h); var max = parseInt(9), min = parseInt(1); var ratio = (max - min) / 400; //0.02 var tickSize = 50, tickCnt = 9; var unit = tickSize * ratio; //1 ctx.beginPath(); ctx.moveTo(20, 30); ctx.lineTo(w, 30); for (var i = 0; i < tickCnt; i++) { ctx.moveTo(20 + tickSize * i, 35); ctx.lineTo(20 + tickSize * i, 25); ctx.textAlign = 'center'; ctx.fillText((min + unit * i), 20 + tickSize * i, 20); ctx.fillStyle = 'green'; } ctx.stroke(); ctx.closePath(); } //画标识圆圈 function drawArc(x, y) { ctx.beginPath(); ctx.lineWidth = 2; ctx.arc(x, y, 5, 0 * Math.PI, 2 * Math.PI); ctx.fillStyle = "red" ctx.fill(); ctx.stroke(); ctx.closePath(); }; //事件绑定,鼠标按下 myCanvas.onmousedown = function (e) { //事件绑定,鼠标移动 myCanvas.onmousemove = function (e) { x = e.offsetX; y = e.offsetY; if (x < 20) { //限定X方向移动位置,只能在刻度线上移动 ax = 20 } else if (x > 420) { ax = 420 } (x < 420 && x > 20) ? x = e.offsetX : x = ax; y = 30; //Y方向坐标值限定,只能在刻度线上移动 //先清除之前图像,然后重新绘制 ctx.clearRect(0, 0, w, h); draw(); drawArc(x, y); }; //事件绑定,鼠标松开。同时清除myCanvas绑定事件 myCanvas.onmouseup = function () { myCanvas.onmousemove = null; myCanvas.onmouseup = null; }; } //页面加载完成,初始化方法 function init() { draw() drawArc(20, 30); } </script> </body> </html>#499
Face reality as it is, not as it was or as you wish it to be.
being a lawyer is like being a doctor, you keep pressing until it hurts, then you know where to look
Sometimes good is not good enough
Harvey we play games, something we win, somtimes we lose
You keep pressing until it hurts. Then you know where to look.
#500
$(window).scroll(function(e) { var scrollSeviye = $(this).scrollTop(); if(scrollSeviye>2400){ scrollSeviye=2400; } var buyutme=(scrollSeviye/6000)+1; $('.arkaplan').css('-webkit-filter', 'blur('+scrollSeviye/120+'px)'); $('.arkaplan').css('transform', 'scale('+buyutme+')'); });#501
#502
我叫但是。
#503
box-shadow: inset 0 0 5px #000000;#504
<?php # Script -- isimg3.php /* Author @ Huoty * Date @ 2015-11-25 16:53:04 * Brief @ */ $mimetype = exif_imagetype("1.jpg"); if ($mimetype == IMAGETYPE_GIF || $mimetype == IMAGETYPE_JPEG || $mimetype == IMAGETYPE_PNG || $mimetype == IMAGETYPE_BMP) { echo "是图片"; }IMAGETYPE_GIF IMAGETYPE_JPEG IMAGETYPE_PNG IMAGETYPE_SWF IMAGETYPE_PSD IMAGETYPE_BMP IMAGETYPE_TIFF_II(Intel 字节顺序) IMAGETYPE_TIFF_MM(Motorola 字节顺序) IMAGETYPE_JPC IMAGETYPE_JP2 IMAGETYPE_JPX IMAGETYPE_JB2 IMAGETYPE_SWC IMAGETYPE_IFF IMAGETYPE_WBMP IMAGETYPE_XBM#505
<script> var swiper = new Swiper('.swiper-container', { slidesPerView: 3, spaceBetween: 30, pagination: { el: '.swiper-pagination', clickable: true, }, }); </script>指示器分页器
<script> var mySwipers = new Swiper('.swiper-container2', { //autoplay: true,//可选选项,自动滑动 navigation: { nextEl: '.you', prevEl: '.zuo', }, spaceBetween: 0, slidesPerView: 3 }) </script>js要写在css html后面
统计加载点击代码
<script> /*异步加载 - 在线交流 - 站长统计 */ var gz_weburl='/'; var lang='cn'; var classnow='314'; var id=''; var url=gz_weburl+'include/interface/uidata.php?lang='+lang,h = 'http://www.ihosu.com/index.php/Home/About/index/cid/314.html'; if(h.indexOf("preview=1")!=-1)url = url + '&theme_preview=1'; $.ajax({ type: "POST", url: url, dataType:"json", success: function(msg){ var c = msg.config; if(c.gz_stat==1){ //站长统计 var navurl=classnow==10001?'':'../'; var stat_d=classnow+'-'+id+'-'+lang; var url = gz_weburl+'include/stat/stat.php?type=para&u='+navurl+'&d='+stat_d; $.getScript(url); } } }); //var metClicks = $(".metClicks");//点击次数 var ClicksListnow=''; var weburl='/'; if(ClicksListnow){ //var DataClicks = metClicks.data("metclicks"); //ClicksStr=DataClicks.split("|"); var ClicksModule = 'news';//ClicksStr[0],ClicksListnow = ClicksStr[1]; var urlw = weburl+'include/hits.php?type='+ClicksModule+'&id='+ClicksListnow; $.ajax({ type: "POST", url: urlw, dataType:"text", success: function(msg){ //var t = msg.split('"'); //metClicks.html(t[1]); } }); } </script>上面代码是静态页面js错误的,下面是后台代码
<script> /*异步加载 - 在线交流 - 站长统计 */ var gz_weburl='/'; var lang='cn'; var classnow='{$cid}'; var id='<?php echo $_GET['id'];?>'; var url=gz_weburl+'include/interface/uidata.php?lang='+lang,h = '<?php echo 'http://'.$_SERVER['HTTP_HOST'].$_SERVER['REQUEST_URI'];?>'; if(h.indexOf("preview=1")!=-1)url = url + '&theme_preview=1'; $.ajax({ type: "POST", url: url, dataType:"json", success: function(msg){ var c = msg.config; if(c.gz_stat==1){ //站长统计 var navurl=classnow==10001?'':'../'; var stat_d=classnow+'-'+id+'-'+lang; var url = gz_weburl+'include/stat/stat.php?type=para&u='+navurl+'&d='+stat_d; $.getScript(url); } } }); //var metClicks = $(".metClicks");//点击次数 var ClicksListnow='<?php echo $_GET['id'];?>'; var weburl='/'; if(ClicksListnow){ //var DataClicks = metClicks.data("metclicks"); //ClicksStr=DataClicks.split("|"); var ClicksModule = 'news';//ClicksStr[0],ClicksListnow = ClicksStr[1]; var urlw = weburl+'include/hits.php?type='+ClicksModule+'&id='+ClicksListnow; $.ajax({ type: "POST", url: urlw, dataType:"text", success: function(msg){ //var t = msg.split('"'); //metClicks.html(t[1]); } }); } </script>pagination: { el: '.swiper-pagination', clickable: true, }404错误页面
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html xmlns="http://www.w3.org/1999/xhtml"> <head> <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> <title>404-对不起!您访问的页面不存在</title> <style type="text/css"> .head404{ width:580px; height:234px; margin:50px auto 0 auto; background:url(http://www.resonance.com.cn/head404.png) no-repeat; } .txtbg404{ width:499px; height:169px; margin:10px auto 0 auto; background:url(http://www.resonance.com.cn/txtbg404.png) no-repeat;} .txtbg404 .txtbox{ width:390px; position:relative; top:30px; left:60px;color:#eee; font-size:13px;} .txtbg404 .txtbox p {margin:5px 0; line-height:18px;} .txtbg404 .txtbox .paddingbox { padding-top:15px;} .txtbg404 .txtbox p a { color:#eee; text-decoration:none;} .txtbg404 .txtbox p a:hover { color:#FC9D1D; text-decoration:underline;} </style> </head> <body bgcolor="#494949"> <div class="head404"></div> <div class="txtbg404"> <div class="txtbox"> <p class="paddingbox">对不起,您请求的页面不存在、或已被删除、或暂时不可用</p> <p>请点击以下链接继续浏览网页</p> <p>》<a style="cursor:pointer" onclick="history.back()">返回上一页面</a></p> <p>》<a href="/">返回网站首页</a></p> </div> </div> </body> </html>兼容手机版移动设备404错误页面
<!DOCTYPE html> <html> <head> <meta charset="UTF-8"> <title>/(ㄒoㄒ)/~~</title> <meta name="viewport" content="width=device-width, initial-scale=1.0, maximum-scale=1.0, user-scalable=0"> <meta http-equiv="X-UA-Compatible" content="ie=edge"> <style>*{padding:0;margin:0}a{text-decoration:none}.notfoud-container .img-404{height:155px;background:url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAARUAAAEGCAYAAABLrAHXAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAA4BpVFh0WE1MOmNvbS5hZG9iZS54bXAAAAAAADw/eHBhY2tldCBiZWdpbj0i77u/IiBpZD0iVzVNME1wQ2VoaUh6cmVTek5UY3prYzlkIj8+IDx4OnhtcG1ldGEgeG1sbnM6eD0iYWRvYmU6bnM6bWV0YS8iIHg6eG1wdGs9IkFkb2JlIFhNUCBDb3JlIDUuNS1jMDIxIDc5LjE1NTc3MiwgMjAxNC8wMS8xMy0xOTo0NDowMCAgICAgICAgIj4gPHJkZjpSREYgeG1sbnM6cmRmPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5LzAyLzIyLXJkZi1zeW50YXgtbnMjIj4gPHJkZjpEZXNjcmlwdGlvbiByZGY6YWJvdXQ9IiIgeG1sbnM6eG1wTU09Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9tbS8iIHhtbG5zOnN0UmVmPSJodHRwOi8vbnMuYWRvYmUuY29tL3hhcC8xLjAvc1R5cGUvUmVzb3VyY2VSZWYjIiB4bWxuczp4bXA9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC8iIHhtcE1NOk9yaWdpbmFsRG9jdW1lbnRJRD0ieG1wLmRpZDoyMDBBQzI5ODU4NjNFMTExOENDN0E4Qzc0NTMzRDM1OSIgeG1wTU06RG9jdW1lbnRJRD0ieG1wLmRpZDozMzA0QkFCNEVFRkQxMUU0QkM0OUJCNTk4RTIyMEUyMSIgeG1wTU06SW5zdGFuY2VJRD0ieG1wLmlpZDozMzA0QkFCM0VFRkQxMUU0QkM0OUJCNTk4RTIyMEUyMSIgeG1wOkNyZWF0b3JUb29sPSJBZG9iZSBQaG90b3Nob3AgQ0MgMjAxNCAoV2luZG93cykiPiA8eG1wTU06RGVyaXZlZEZyb20gc3RSZWY6aW5zdGFuY2VJRD0ieG1wLmlpZDoxNzFmOGFkMy00MzRlLTRkYmUtOTJkYi04ODY1ZTE0NmI3NDQiIHN0UmVmOmRvY3VtZW50SUQ9ImFkb2JlOmRvY2lkOnBob3Rvc2hvcDpmMDY2OGM2MS0yOTZlLTExNzgtYmU3NS04ODg3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) center center no-repeat;-webkit-background-size:150px auto;margin-top:40px;margin-bottom:20px}.notfoud-container .notfound-p{line-height:22px;font-size:17px;padding-bottom:15px;border-bottom:1px solid #f6f6f6;text-align:center;color:#262b31}.notfoud-container .notfound-reason{color:#9ca4ac;font-size:13px;line-height:13px;text-align:left;width:210px;margin:0 auto}.notfoud-container .notfound-reason p{margin-top:13px}.notfoud-container .notfound-reason ul li{margin-top:10px;margin-left:36px}.notfoud-container .notfound-btn-container{margin:40px auto 0;text-align:center}.notfoud-container .notfound-btn-container .notfound-btn{display:inline-block;border:1px solid #ebedef;background-color:#239bf0;color:#fff;font-size:15px;border-radius:5px;text-align:center;padding:10px;line-height:16px;white-space:nowrap}</style> </head> <body> <div class="notfoud-container"> <div class="img-404"> </div> <p class="notfound-p">哎呀迷路了...</p> <div class="notfound-reason"> <p>可能的原因:</p> <ul> <li>原来的页面不存在了</li> <li>我们的服务器被外星人劫持了</li> </ul> </div> <div class="notfound-btn-container"> <a class="notfound-btn" href="/">返回首页</a> </div> </div> </body> </html><?php $config = array( 'DEFAULT_THEME' => SHOUJIZHANOK ,'TMPL_EXCEPTION_FILE' => APP_PATH . '/Tpl/Home/'.SHOUJIZHANOK.'/Public/exception.html' ); return $config ;\GZphp\Conf\Home$the_host = $_SERVER['HTTP_HOST'];//取得当前域名 if($the_host == SHOUJIZHANOKURL){ //手机 define('SHOUJIZHANOK', 'mDefault'); }else{ define('SHOUJIZHANOK', 'Default'); }IIS 7 以上 web.config 中设置全局的错误时,如果用编辑器,可能会提示“锁定冲突”,原因是全局的设置锁定了此项,不让修改。 解决方法如下:
#506
#507
<script type="text/javascript"> window.onload=function(){ var obox=document.getElementById("box"); var oshow=document.getElementById("show"); var nodes=obox.getElementsByTagName("*"); oshow.innerHTML=nodes.length; } </script>#508
jQuery event 事件对象,包含有 event.offsetX, event.clientX,event.pageX,event.screenX等属性(firefox 浏览器中, offsetX 为 undefined)。firefox 获取 offsetX / offsetY 的值,需要通过 event 对象的属性 originalEvent
$(function(){ $("#box").mousedown(function(event){ console.log(event.offsetX, event.offsetY); console.log(event.clientX, event.clientY); console.log(event.pageX, event.pageY); console.log(event.screenX, event.screenY); /* firefox */ console.log(event.originalEvent.layerX, event.originalEvent.layerY); }); });#509
var oZuolist = document.getElementsByClassName('zuo2'); for(var i=0;i<oZuolist.length;i++){ oZuolist[i].onmouseover=function(){ //注意涉及到这个对象不能使用oZuolist[i],要用this代替 } }var oZuo = document.getElementsByClassName('zuo2'); 获取的是一个dom集合 而不是一个dom 对象,你无法对js的集合绑定事件 var oZuo = document.getElementsByClassName('zuo2')[0]; 就可以#510
1.丢弃小数部分,保留整数部分 parseInt(5/2) 2.向上取整,有小数就整数部分加1 Math.ceil(5/2) 3,四舍五入. Math.round(5/2) 4,向下取整 Math.floor(5/2) Math 对象的方法 FF: Firefox, N: Netscape, IE: Internet Explorer 方法 描述 FF N IE abs(x) 返回数的绝对值 1 2 3 acos(x) 返回数的反余弦值 1 2 3 asin(x) 返回数的反正弦值 1 2 3 atan(x) 以介于 -PI/2 与 PI/2 弧度之间的数值来返回 x 的反正切值 1 2 3 atan2(y,x) 返回从 x 轴到点 (x,y) 的角度(介于 -PI/2 与 PI/2 弧度之间) 1 2 3 ceil(x) 对一个数进行上舍入。 1 2 3 cos(x) 返回数的余弦 1 2 3 exp(x) 返回 e 的指数。 1 2 3 floor(x) 对一个数进行下舍入。 1 2 3 log(x) 返回数的自然对数(底为e) 1 2 3 max(x,y) 返回 x 和 y 中的最高值 1 2 3 min(x,y) 返回 x 和 y 中的最低值 1 2 3 pow(x,y) 返回 x 的 y 次幂 1 2 3 random() 返回 0 ~ 1 之间的随机数 1 2 3 round(x) 把一个数四舍五入为最接近的整数 1 2 3 sin(x) 返回数的正弦 1 2 3 sqrt(x) 返回数的平方根 1 2 3 tan(x) 返回一个角的正切 1 2 3 toSource() 代表对象的源代码 1 4 - valueOf() 返回一个 Math 对象的原始值#511
<!DOCTYPE html> <html> <head lang="en"> <meta charset="UTF-8"> <title>jq获取鼠标的位置</title> <style> div{ width: 500px; height: 500px; background-color: #585858; margin: 0; padding: 0; } </style> <script type="text/javascript" src="../../js/jquery-3.1.1.min.js"></script> </head> <body> <div id="d"> </div> </body> <script type="text/javascript"> $('#d').mousemove(function(f){ /* var xx = f.originalEvent.x|| f.originalEvent.layerX||0; var yy = f.originalEvent.y|| f.originalEvent.layerY||0;*/ var xx = f.pageX; var yy = f.pageY; $(this).text(xx+','+yy); }) /*根据出现的“originalEvent”一词可猜测题主的本意是比较jquery下 e.pageX和e.originalEvent.x的区别(因为originalEvent是jq在对构造一个jq版e对象后引用的原始e对象)。 根据jq源码,jq版e对象下的pageX和原生的pageX是一致的,但是增加了对旧版本IE的实现部分。 于是题目可蜕化为原生e.pageX与e.x的区别,以及jq为IE8-浏览器实现的e.pageX与原生e.x的区别。 考虑jq的跨平台特性,我们在不清楚具体情况的时候,直接通过其补丁的实现方式来猜测属性的定义。 根据jq对无原生pageX的浏览器的补丁实现 event.pageX = original.clientX + ( doc && doc.scrollLeft || body && body.scrollLeft || 0 ) - ( doc && doc.clientLeft || body && body.clientLeft || 0 ); 到这里我们已经基本清楚pageX的涵义,是包含了滚动条的计算的。 实际上,e.pageX在各(支持的)浏览器下的表现都是一致的,都是表达点击位置相对于整个文档的位置,用题主的话说就是“计算了滚动条”。 兼容性来说,e.pageX除了在IE系列中低于IE9的版本中是不支持的,IE9+和其它主流浏览器全部一致支持。 可是e.x的情况很复杂…… 首先,fx不支持e.x。这没啥好说的。 其次,除IE外的其它主流浏览器,opera、chrome(以及其它同内核的浏览器),都支持e.x属性, 其值为“相对可视区域的坐标”——没错,对它们来说,e.x == e.clientX。用题主的话说就是“没有计算滚动条”。 再来看看e.x属性的发明者IE。IE全系列支持e.x 被点击对象所在的坐标系(即最近一个指定position: relative的tag的左上角的border外边界为原点)的坐标位置。 如果自身及上层均没有指定position: relative属性,则蜕变为相对于“相对可视区域的坐标”。 题外话,通过F12发现,IE一旦涉及滚动条后计算居然不是整像素数,而是会出现误差小数的!*/ </script> </html> <!--<html> <head> <meta http-equiv="Content-Type" content="text/html; charset=gb2312" /> <title>javascript获得鼠标位置</title> </head> <body> <script> function mouseMove(ev) { Ev= ev || window.event; var mousePos = mouseCoords(ev); document.getElementById("xxx").value = mousePos.x; document.getElementById("yyy").value = mousePos.y; } function mouseCoords(ev) { if(ev.pageX || ev.pageY){ return {x:ev.pageX, y:ev.pageY}; } return{ x:ev.clientX + document.body.scrollLeft - document.body.clientLeft, y:ev.clientY + document.body.scrollTop - document.body.clientTop }; } document.onmousemove = mouseMove; </script> 鼠标X轴: <input id=xxx type=text> 鼠标Y轴: <input id=yyy type=text> </body> -->javascript判断鼠标移动的方向(左,上,右,下)
function(wrap){ var wrap = document.getElementById(wrap); var hoverDir = function(e){ var w = wrap.offsetWidth, h = wrap.offsetHeight, x = ( e.clientX - wrap.offsetLeft - ( w / 2 ) ) * ( w > h ? ( h / w ) : 1 ), y = (e.clientY - wrap.offsetTop - (h / 2)) * (h > w ? (w / h) : 1), // 上(0) 右(1) 下(2) 左(3) direction = Math.round( ( ( ( Math.atan2( y, x ) * ( 180 / Math.PI ) ) + 180 ) / 90) + 3 ) % 4, eventType = e.type, dirName = new Array('上方','右侧','下方','左侧'); if( e.type == 'mouseover' || e.type == 'mouseenter' ){ wrap.innerHTML = dirName[direction] + '进入'; }else{ wrap.innerHTML = dirName[direction] + '离开'; } } if( window.addEventListener ){ wrap.addEventListener( 'mouseover',hoverDir,false ); wrap.addEventListener( 'mouseout',hoverDir,false ); }else if( window.attachEvent ){ wrap.attachEvent( 'onmouseenter',hoverDir ); wrap.attachEvent( 'onmouseleave',hoverDir ); } }核心是 Math.round( ( ( ( Math.atan2( y, x ) * ( 180 / Math.PI ) 返回四个值
左右还可用正负值判断方向
n[0].onload = function() { n.data("loaded", true); r.on("mousemove", function(e) { if (!n.data("loaded")) return; var t, r, i, o, l, c; c = $(this).width(); if (a.width != c) { u.widthCover = c; u.heightCover = c / u.scale; r = $(this).offset().left; n.css({ width: 3 * u.widthCover + "px", height: 3 * u.heightCover + "px" }); a.width != c } t = Math.abs(e.pageX - r + 5); f = t * 100 / u.widthCover; f = f > 100 ? 100 : f; s.css({ width: f + "%" }); i = Math.floor(t * 7 / u.widthCover); o = -1 * (i % 3) * u.widthCover; l = -1 * Math.floor(i / 3) * u.heightCover; if (a.left == o && a.top == l) { return } else { a.left = o; a.top = l } n.css({ left: o + "px", top: l + "px" }) }); r.show() }#512
con.style.backgroundPosition=x+"px "+y+"px"; 可以兼容所有的浏览器,但要注意第一个“px ”中有一个空格直接获取 document.querySelectorAll("div.aa") 类似属性选择器的写法 document.querySelectorAll("div[class='aa']") 补充一下还可以not选择器 document.querySelectorAll(".aa:not(ul)")//将NodeList转换成Array function transformList(list) { var arr = []; for(var i = 0; i < list.length; i++) { arr.push(list[i]); } return arr; } //查找一个父节点下指定类名的子节点 function getParentdElement(parentNode, childName) { //如果父节点parentNode含有指定类名childName,这个节点就是目标节点 if (parentNode.className.search(childName) !== -1) { console.log("if------"); console.log(parentNode); return parentNode; } else { //父节点不含有指定类名childName,递归查找它的子节点。 var nodes = parentNode.childNodes; //将子节点的list转换成标准数组并且过滤掉Text元素 nodes = transformList(nodes).filter(function(item){ if(item.nodeType !== 3) { return item; } else{ } }); //如果子节点数组中有值,则递归查找 if(nodes.length) { nodes.forEach(function(item) { getParentdElement(item, childName); }); } console.log("else------"); console.log(nodes); } } console.log(getParentdElement(document.querySelector(".parent"), "right"))#513