国产99久久精品_欧美日本韩国一区二区_激情小说综合网_欧美一级二级视频_午夜av电影_日本久久精品视频

最新文章專題視頻專題問答1問答10問答100問答1000問答2000關鍵字專題1關鍵字專題50關鍵字專題500關鍵字專題1500TAG最新視頻文章推薦1 推薦3 推薦5 推薦7 推薦9 推薦11 推薦13 推薦15 推薦17 推薦19 推薦21 推薦23 推薦25 推薦27 推薦29 推薦31 推薦33 推薦35 推薦37視頻文章20視頻文章30視頻文章40視頻文章50視頻文章60 視頻文章70視頻文章80視頻文章90視頻文章100視頻文章120視頻文章140 視頻2關鍵字專題關鍵字專題tag2tag3文章專題文章專題2文章索引1文章索引2文章索引3文章索引4文章索引5123456789101112131415文章專題3
問答文章1 問答文章501 問答文章1001 問答文章1501 問答文章2001 問答文章2501 問答文章3001 問答文章3501 問答文章4001 問答文章4501 問答文章5001 問答文章5501 問答文章6001 問答文章6501 問答文章7001 問答文章7501 問答文章8001 問答文章8501 問答文章9001 問答文章9501
當前位置: 首頁 - 科技 - 知識百科 - 正文

web前端中常用的封裝方法介紹(代碼示例)

來源:懂視網 責編:小采 時間:2020-11-02 22:08:58
文檔

web前端中常用的封裝方法介紹(代碼示例)

web前端中常用的封裝方法介紹(代碼示例):本篇文章給大家帶來的內容是關于web前端中常用的封裝方法介紹(代碼示例),有一定的參考價值,有需要的朋友可以參考一下,希望對你有所幫助。1、放大鏡//頁面加載完畢后執行 window.onload = function () { var oDemo = document.getEl
推薦度:
導讀web前端中常用的封裝方法介紹(代碼示例):本篇文章給大家帶來的內容是關于web前端中常用的封裝方法介紹(代碼示例),有一定的參考價值,有需要的朋友可以參考一下,希望對你有所幫助。1、放大鏡//頁面加載完畢后執行 window.onload = function () { var oDemo = document.getEl

本篇文章給大家帶來的內容是關于web前端中常用的封裝方法介紹(代碼示例),有一定的參考價值,有需要的朋友可以參考一下,希望對你有所幫助。

1、放大鏡

//頁面加載完畢后執行
window.onload = function () {
var oDemo = document.getElementById('demo');
var oMark = document.getElementById('mark');
var FloatBox = document.getElementById('float-box');
var SmallBox = document.getElementById("small-box");
var bigBox = document.getElementById('big-box');
var bigImg = bigBox.getElementsByTagName('img')[0];
oMark.onmouseover = function (){
FloatBox.style.display = "block";
bigBox.style.display = "block";
}
oMark.onmouseout = function (){
FloatBox.style.display = "none";
bigBox.style.display = "none";
}
oMark.onmousemove = function (ev){
var ev = ev || window.event;
var left = ev.clientX - oDemo.offsetLeft - SmallBox.offsetLeft - FloatBox.offsetWidth / 2;
var top = ev.clientY - oDemo.offsetTop - SmallBox.offsetTop - FloatBox.offsetHeight / 2;
if(left < 10){
left = 0;

}else if(left >= oMark.offsetWidth - FloatBox.offsetWidth - 10){
left = oMark.offsetWidth - FloatBox.offsetWidth;
}
if(top < 10){
top = 0;
}else if(top >= oMark.offsetHeight - FloatBox.offsetHeight - 10){
top = oMark.offsetHeight - FloatBox.offsetHeight;
}
FloatBox.style.left = left + "px";
FloatBox.style.top = top + "px";
var scaleX = left / (oMark.offsetWidth - FloatBox.offsetWidth);
var scaleY = top / (oMark.offsetHeight - FloatBox.offsetHeight);
bigImg.style.left = -scaleX * (bigImg.offsetWidth - bigBox.offsetWidth) + "px";
bigImg.style.top = -scaleY * (bigImg.offsetHeight - bigBox.offsetHeight) + "px";

}
}

2、JSONP

function fn1(data){
var html = '';
var oUl = document.getElementsByTagName('ul')[0];
console.log(data);
if(data.total != -1){
for(var i=0; i<data.books.length; i++){
html += '<li><h2>'+ data.books[i].title +'</h2> <span>'+ data.books[i].author_intro +'</span><img src="'+ data.books[i].image +'" /><p>'+ data.books[i].summary +'</p> <p><em>' + data.books[i].publisher + '</em></p></li>';}
oUl.innerHTML = html;
 }else{
 document.body.innerHTML+='<h2>親~~ 沒有數據哦~~~</h2>';
 }
 
 } 
window.onload = function (){
var oBtn = document.getElementById('btn');
var iNow = 0;
oBtn.onclick = function (){
//動態添加 script 標簽 加載URL地址 后傳入 callback=fn1 輸出一個函數, 在上面則定義好這個函數, 接受一個data 就是資源 json類型,循環輸出, 可先console.log(dara) 查看數據
var oScript = 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";
document.head.appendChild(oScript);
// 點擊一次+10,從多少開始獲取
iNow += 10; 
} 
}

3、獲取指定區間范圍隨機數,包括lowerValue和upperValue

function randomFrom(lowerValue,upperValue)
{
 return Math.floor(Math.random() * (upperValue - lowerValue + 1) + lowerValue);
}
//如獲取1-100之間的隨機數
console.log(randomFrom(1,100));

4、數組排序

1、快速排序
 
 /** 
 * 得到中間那位那位數,然后循環判斷, arr[i] < 中間數 則push leftArr, 否則push rightArr, 最后返回 left數組 '拼接' 中間數 + right數組 
 */
 function sort(arr){
 
 if(arr.length <= 1){
 return arr;
 }
 
 var numIndex = Math.floor(arr.length/2);
 var numVal = arr.splice(numIndex,1);
 var leftArr = [];
 var rightArr = [];
 
 for(var i=0; i<arr.length; i++){
 
 if(arr[i]<numVal){ 
 leftArr.push(arr[i]);
 }else{
 rightArr.push(arr[i])
 }
 
 }
 
 return sort(leftArr).concat(numVal,sort(rightArr));

 }

2、sort排序
 var num=[7,45,100,4,2,564];
 num.sort(function (a, b){
 return a - b;
 });
 console.log(num) //[2, 4, 7, 45, 100, 564]

5、數組去重

1、indexOf 去重

/**
 * 當arr的第一次出現的位置 == i 則是第一次出現就push到tempArr
 */
function unique(arr){

 if (arr.length <= 1){
 return arr;
 }

 var tempArr = [];

 for(var i=0; i<arr.length; i++){

 if(tempArr.indexOf(parseInt(arr[i])) == -1){ //-1 證明沒有出現過

 tempArr.push(arr[i]);

 }

 }

 return tempArr;

}

2、Set去重
function SetUnique(array) {
 return [...new Set(array)];
}
dedupe([1, 1, 2, 3]) // [1, 2, 3]

6、深度拷貝

/** 
 * 深度拷貝
 * 使用for in 在循環賦值,避免對象引用
 */
function copy(obj){

 if(typeof obj != 'object'){
 return obj;
 }

 var newObj = {};

 for(var attr in obj){

 newObj[attr] = copy(obj[attr]);

 }

 return newObj;

}

聲明:本網頁內容旨在傳播知識,若有侵權等問題請及時與本網聯系,我們將在第一時間刪除處理。TEL:177 7030 7066 E-MAIL:11247931@qq.com

文檔

web前端中常用的封裝方法介紹(代碼示例)

web前端中常用的封裝方法介紹(代碼示例):本篇文章給大家帶來的內容是關于web前端中常用的封裝方法介紹(代碼示例),有一定的參考價值,有需要的朋友可以參考一下,希望對你有所幫助。1、放大鏡//頁面加載完畢后執行 window.onload = function () { var oDemo = document.getEl
推薦度:
標簽: 方法 代碼 html5
  • 熱門焦點

最新推薦

猜你喜歡

熱門推薦

專題
Top
主站蜘蛛池模板: 亚洲日本韩国欧美 | 最新色视频 | 国产精品系列在线观看 | 国产视频一区二区在线播放 | 亚洲一区色图 | 99久久免费国产精精品 | 亚洲色图在线播放 | 日韩欧美在线看 | 亚洲欧洲日产国码一级毛片 | 国产日韩第一页 | 国产网站视频 | 欧美 在线播放 | 国产未成女年一区二区 | 国产精品专区第二 | 亚洲激情在线观看 | 亚洲国产成人久久综合碰 | 黄网站免费在线观看 | 久久国产精品视频一区 | 欧美日韩视频一区二区在线观看 | 一级毛片不卡片免费观看 | 欧美亚洲综合在线 | 久久久久久夜精品精品免费啦 | 亚洲一区二区在线成人 | 国产精品一区二区综合 | 青青热久久国产久精品秒播 | 国产成人精品一区二区视频 | 中文字幕日韩有码 | 99热这里只有精品一区二 | 日本成人一区 | 精品一区二区三区18 | 国产片欧美片亚洲片久久综合 | 亚洲区精品久久一区二区三区 | 日韩毛毛片 | 久久综合精品国产一区二区三区 | 欧美亚洲综合网 | 亚洲 欧美 日韩 另类 | 亚洲欧美自拍一区 | 欧美网站在线观看 | 欧美三级一区二区 | 国产欧美一区二区精品性色99 | 99国产精品久久久久久久成人热 |