当前位置: 首页 > Web前端 > HTML5

Web前端常用封装方式

时间:2023-04-05 21:20:24 HTML5

1、放大镜//页面加载完成后执行window.onload=function(){varoDemo=document.getElementById('demo');varoMark=document.getElementById('mark');varFloatBox=document.getElementById('浮动框');varSmallBox=document.getElementById("小盒子");varbigBox=document.getElementById('大盒子');varbigImg=bigBox.getElementsByTagName('img')[0];oMark.onmouseover=function(){FloatBox.style.display="块";bigBox.style.display="方块";}oMark.onmouseout=function(){FloatBox.style.display="none";bigBox.style.display="无";}oMark.onmousemove=function(ev){varev=ev||窗口事件;varleft=ev.clientX-oDemo.offsetLeft-SmallBox.offsetLeft-FloatBox.offsetWidth/2;vartop=ev.clientY-oDemo.offsetTop-SmallBox.offsetTop-FloatBox.offsetHeight/2;如果(左<10){左=0;}elseif(left>=oMark.offsetWidth-FloatBox.offsetWidth-10){left=oMark.offsetWidth-FloatBox.offsetWidth;}如果(顶部<10){顶部=0;}elseif(top>=oMark.offsetHeight-FloatBox.offsetHeight-10){top=oMark.offsetHeight-FloatBox.offsetHeight;}FloatBox.style.left=left+"px";FloatBox.style.top=top+"px";varscaleX=left/(oMark.offsetWidth-FloatBox.offsetWidth);varscaleY=top/(oMark.offsetHeight-FloatBox.offsetHeight);bigImg.style.left=-scaleX*(bigImg.offsetWidth-bigBox.offsetWidth)+"px";bigImg.style.top=-scaleY*(bigImg.offsetHeight-bigBox.offset高度)+"px";}}2、JSONP函数fn1(data){varhtml='';varoUl=document.getElementsByTagName('ul')[0];控制台日志(数据);if(data.total!=-1){for(vari=0;i

'+data.books[i].title+'

'+data.books[i].author_intro+'

'+数据.books[i].summary+'

'+data.books[i].publisher+'
';}oUl.innerHTML=html;}else{document.body.innerHTML+='

亲~~没有数据哦~~~

';}}window.onload=function(){varoBtn=document.getElementById('btn');变量iNow=0;oBtn.onclick=函数ion(){//动态添加script标签加载url地址,传入callback=fn1输出一个函数。上面定义这个函数,接受一个数据是资源json类型,循环输出。可以先console.log(dara)查看数据varoScript=document.createElement('script');oScript.src="https://api.douban.com/v2/book/search?q=%E6%A0%A1%E5%9B%AD&count=10&start="+iNow+"&callback=fn1";文档.head.appendChild(oScript);//点击+10一次,开始获取iNow+=10;}}3。获取指定范围内的随机数,包括lowerValue和upperValuefunctionrandomFrom(lowerValue,upperValue){returnMath.floor(Math.random()*(upperValue-lowerValue+1)+lowerValue);}//比如获取一个随机数1-100之间的数字console.log(randomFrom(1,100));4、数组排序1、快速排序/***获取中间数,然后循环判断,如果arr[i]<中间数,则推leftArr,否则推rightArr,最后返回左边的数组‘拼接’中间数+右数组*/functionsort(arr){if(arr.length<=1){returnarr;}varnumIndex=Math.floor(arr.length/2);varnumVal=arr.splice(numIndex,1);varleftArr=[];varrightArr=[];for(vari=0;i