成人国产在线小视频_日韩寡妇人妻调教在线播放_色成人www永久在线观看_2018国产精品久久_亚洲欧美高清在线30p_亚洲少妇综合一区_黄色在线播放国产_亚洲另类技巧小说校园_国产主播xx日韩_a级毛片在线免费

資訊專欄INFORMATION COLUMN

web前端常用的封裝方法

shuibo / 376人閱讀

摘要:放大鏡頁面加載完畢后執(zhí)行親沒有數(shù)據(jù)哦動態(tài)添加標簽加載地址后傳入輸出一個函數(shù)在上面則定義好這個函數(shù)接受一個就是資源類型循環(huán)輸出可先查看數(shù)據(jù)點擊一次,從多少開始獲取獲取指定區(qū)間范圍隨機數(shù),包括和如獲

1、放大鏡
        //頁面加載完畢后執(zhí)行
        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[i].author_intro +"

"+ data.books[i].summary +"

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

親~~ 沒有數(shù)據(jù)哦~~~

"; } } window.onload = function (){ var oBtn = document.getElementById("btn"); var iNow = 0; oBtn.onclick = function (){ //動態(tài)添加 script 標簽 加載URL地址 后傳入 callback=fn1 輸出一個函數(shù), 在上面則定義好這個函數(shù), 接受一個data 就是資源 json類型,循環(huán)輸出, 可先console.log(dara) 查看數(shù)據(jù) 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、獲取指定區(qū)間范圍隨機數(shù),包括lowerValue和upperValue
function randomFrom(lowerValue,upperValue)
{
    return Math.floor(Math.random() * (upperValue - lowerValue + 1) + lowerValue);
}
//如獲取1-100之間的隨機數(shù)
console.log(randomFrom(1,100));

4、數(shù)組排序
1、快速排序
    
    /** 
     *   得到中間那位那位數(shù),然后循環(huán)判斷, arr[i] < 中間數(shù) 則push leftArr, 否則push rightArr, 最后返回 left數(shù)組 "拼接" 中間數(shù) + right數(shù)組 
     */
    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
5、數(shù)組去重
1、indexOf 去重

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

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

    var tempArr = [];

    for(var i=0; i
6、深度拷貝
/** 
 *     深度拷貝
 *     使用for in 在循環(huán)賦值,避免對象引用
 */
function copy(obj){

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

    var newObj = {};

    for(var attr in obj){

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

    }

    return newObj;

}

文章版權(quán)歸作者所有,未經(jīng)允許請勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。

轉(zhuǎn)載請注明本文地址:http://systransis.cn/yun/98340.html

相關(guān)文章

  • 前端2018現(xiàn)在上車還還得及么

    摘要:面向?qū)ο笕筇卣骼^承性多態(tài)性封裝性接口。第五階段封裝一個屬于自己的框架框架封裝基礎(chǔ)事件流冒泡捕獲事件對象事件框架選擇框架。核心模塊和對象全局對象,,,事件驅(qū)動,事件發(fā)射器加密解密,路徑操作,序列化和反序列化文件流操作服務(wù)端與客戶端。 第一階段: HTML+CSS:HTML進階、CSS進階、div+css布局、HTML+css整站開發(fā)、 JavaScript基礎(chǔ):Js基礎(chǔ)教程、js內(nèi)置對...

    stormgens 評論0 收藏0
  • 前端2018現(xiàn)在上車還還得及么

    摘要:面向?qū)ο笕筇卣骼^承性多態(tài)性封裝性接口。第五階段封裝一個屬于自己的框架框架封裝基礎(chǔ)事件流冒泡捕獲事件對象事件框架選擇框架。核心模塊和對象全局對象,,,事件驅(qū)動,事件發(fā)射器加密解密,路徑操作,序列化和反序列化文件流操作服務(wù)端與客戶端。 第一階段: HTML+CSS:HTML進階、CSS進階、div+css布局、HTML+css整站開發(fā)、 JavaScript基礎(chǔ):Js基礎(chǔ)教程、js內(nèi)置對...

    mylxsw 評論0 收藏0
  • 前端權(quán)限

    摘要:自從有了前后端分離,前端的工作內(nèi)容就變得越發(fā)多起來,其中有一項就是權(quán)限控制,下面就談一談前端權(quán)限。所以從某種意義上來說,就算前端的權(quán)限控制做得再嚴密,可能作用也是有限的。 showImg(https://segmentfault.com/img/bVbpwf4); 自從有了前后端分離,前端的工作內(nèi)容就變得越發(fā)多起來,其中有一項就是權(quán)限控制,下面就談一談前端權(quán)限。 WHAT首先我們要理清...

    alaege 評論0 收藏0

發(fā)表評論

0條評論

最新活動
閱讀需要支付1元查看
<