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

資訊專欄INFORMATION COLUMN

圖片滑動(dòng)的內(nèi)部原理,這就涉及到簡(jiǎn)單的算法

BlackMass / 912人閱讀

摘要:涉及的框架你可以將項(xiàng)目下來(lái),使用或打開。當(dāng)我們點(diǎn)擊向右移動(dòng)時(shí),上面的大圖也會(huì)隨著改變?nèi)绻_(dá)到第一張了,就提示無(wú)法右移。當(dāng)鼠標(biāo)滑過下面的小圖時(shí),上面的大圖也會(huì)隨著改變。

導(dǎo)讀

項(xiàng)目已上傳到我的碼云,如果有需要的,可以自行下載:項(xiàng)目原碼


今天,應(yīng)產(chǎn)品經(jīng)理的要求,當(dāng)我們點(diǎn)擊左按鈕時(shí),上下都顯示第六張圖片;當(dāng)我們點(diǎn)擊右按鈕時(shí),上下讀顯示第-1張圖片。

涉及的框架

你可以將項(xiàng)目down下來(lái),使用 webstorm或HBuilder打開。

使用JQuery將靜態(tài)的HTML變得有靈魂。

使用vue.js實(shí)現(xiàn)數(shù)據(jù)的雙向綁定

使用bootstrap來(lái)美化靜態(tài)頁(yè)面

使用layui的更美地彈出信息,比如已經(jīng)達(dá)到最后一張了,無(wú)法左移

頁(yè)面設(shè)計(jì)


    
        
        圖片的滑動(dòng)
    
        
        
        
        
    
        
        
        
        
        
        
        
    
    
    
        

圖片移動(dòng)

js頁(yè)面
/**
 * @author zby
 * @description 圖片移動(dòng)
 */
/**
 * 自調(diào)用函數(shù)
 *      函數(shù)表達(dá)式可以 "自調(diào)用"。
 *      自調(diào)用表達(dá)式會(huì)自動(dòng)調(diào)用。
 *      如果表達(dá)式后面緊跟 () ,則會(huì)自動(dòng)調(diào)用。
 *      不能自調(diào)用聲明的函數(shù)。
 *      通過添加括號(hào),來(lái)說(shuō)明它是一個(gè)函數(shù)表達(dá)式:
 *      (function () {
 *          var x = "Hello!!";      // 我將調(diào)用自己
 *       })();
 */
(function (document, window, $) {
    "use strict";
    var vm = {}, length = 5;
    var imgSrcs = new Array();
    var layer = {}

    /**
     * jQuery信息初始化
     */
    $(function () {

        var fns = {
            /**
             * 設(shè)計(jì)思路,圖片左移
             * 比如有六張圖片,首先展示1,5折五張圖片,向左移動(dòng)一次,展示2,6張圖片,以此類推。。。
             */
            toLeft: function () {
                if (imgSrcs.length > 5) {
                    if (length < imgSrcs.length) {
                        length++;
                        vm.images = imgSrcs;
                        vm.images = vm.images.slice(length - 5, length);
                        //下標(biāo)減1
                        vm.upImg = imgSrcs[length - 1];
                    } else {
                        length = imgSrcs.length;
                        layer.msg("已經(jīng)達(dá)到最后一張了,無(wú)法左移", {time: 800});
                    }
                } else {
                    layer.msg("小圖已全部展示,無(wú)法左移", {time: 800});
                }
            },
            /**
             *設(shè)計(jì)思路,圖片右移
             *比如有六張圖片,首先展示2,6折五張圖片,向右移動(dòng)一次,展示1,5張圖片,以此類推。。。
             */
            toRight: function () {
                if (imgSrcs.length > 5) {
                    if (length > 5) {
                        length--;
                        vm.images = imgSrcs;
                        vm.images = vm.images.slice(length - 5, length);
                        //下標(biāo)減5
                        vm.upImg = imgSrcs[length - 5];
                    } else {
                        length = 5;
                        layer.msg("已經(jīng)達(dá)到第一張了,無(wú)法右移", {time: 800});
                    }
                } else {
                    layer.msg("小圖片已全部展示,無(wú)法右移", {time: 800});
                }
            },
            toUp: function (me) {
                vm.upImg = {
                    paths: $(me).attr("src"),
                    name: $(me).attr("title")
                }
            }
        }

        /**
         * 變量、方法提升,也就是說(shuō),可以在定義之前使用該變量和方法
         */
        init();

        //變量升級(jí)為window對(duì)象,fns是局部變量,將其提升為全局變量,即Windows變量
        //全局變量可應(yīng)用于頁(yè)面上的所有腳本。
        window.fns = fns;
    });

    /**
     * 初始化數(shù)據(jù)
     */
    function init() {
        vm = new Vue({
            el: ".containsImg",
            data: {
                images: {},
                upImg: {}
            },
        })

        imgSrcs.push({paths: "../imgs/1.jpg", name: "清幽竹林"});
        imgSrcs.push({paths: "../imgs/2.jpg", name: "夕陽(yáng)晚景"});
        imgSrcs.push({paths: "../imgs/3.jpg", name: "山峰湖水"});
        imgSrcs.push({paths: "../imgs/4.jpg", name: "月下蕩人"});
        imgSrcs.push({paths: "../imgs/6.jpg", name: "藍(lán)天白云水悠悠"});
        imgSrcs.push({paths: "../imgs/7.jpg", name: "峭壁臨水"});
        imgSrcs.push({paths: "../imgs/8.jpg", name: "青山綠樹"});
        imgSrcs.push({paths: "../imgs/9.jpg", name: "明亮春景"});
        imgSrcs.push({paths: "../imgs/10.jpg", name: "銀裝素裹"});
        imgSrcs.push({paths: "../imgs/11.jpg", name: "霧凇雪路"});
        imgSrcs.push({paths: "../imgs/12.jpg", name: "柏樹綠水"});

        vm.images = imgSrcs;
        if (vm.images.length > 0) {
            vm.upImg = {
                name: imgSrcs[0].name,
                paths: imgSrcs[0].paths,
            }
            if (vm.images.length > 5) {
                vm.images = vm.images.slice(0, 5);
            }
        }

        layui.use("layer", function () {
            layer = layui.layer;
        });
    }


})(document, window, jQuery)
最終達(dá)到的效果

當(dāng)我們點(diǎn)擊向左移動(dòng)時(shí),上面的大圖也會(huì)隨著改變;如果達(dá)到最后一張了,就提示無(wú)法左移。

當(dāng)我們點(diǎn)擊向右移動(dòng)時(shí),上面的大圖也會(huì)隨著改變;如果達(dá)到第一張了,就提示無(wú)法右移。

*當(dāng)鼠標(biāo)滑過下面的小圖時(shí),上面的大圖也會(huì)隨著改變。

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

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

相關(guān)文章

  • YOLO算法原理與實(shí)現(xiàn)

    摘要:近幾年來(lái),目標(biāo)檢測(cè)算法取得了很大的突破。本文主要講述算法的原理,特別是算法的訓(xùn)練與預(yù)測(cè)中詳細(xì)細(xì)節(jié),最后將給出如何使用實(shí)現(xiàn)算法。但是結(jié)合卷積運(yùn)算的特點(diǎn),我們可以使用實(shí)現(xiàn)更高效的滑動(dòng)窗口方法。這其實(shí)是算法的思路。下面將詳細(xì)介紹算法的設(shè)計(jì)理念。 1、前言當(dāng)我們談起計(jì)算機(jī)視覺時(shí),首先想到的就是圖像分類,沒錯(cuò),圖像分類是計(jì)算機(jī)視覺最基本的任務(wù)之一,但是在圖像分類的基礎(chǔ)上,還有更復(fù)雜和有意思的任務(wù),如目...

    zhangfaliang 評(píng)論0 收藏0
  • Android面試整理(附答案)

    摘要:和體現(xiàn)了對(duì)不同異常情況的分類。是程序正常運(yùn)行中,可以預(yù)料的意外情況,可能并且應(yīng)該被捕獲,進(jìn)行相應(yīng)的處理。是指在正常情況下,不大可能出現(xiàn)的情況,絕大部分都會(huì)使程序處于非正常不可恢復(fù)的狀態(tài)。常見的非對(duì)稱加密包括等。 面試,無(wú)非都是問上面這些問題(挺多的 - -!),聘請(qǐng)中高級(jí)的安卓開發(fā)會(huì)往深的去問,并且會(huì)問一延伸二。以下我先提出幾點(diǎn)重點(diǎn),是面試官基本必問的問題,請(qǐng)一定要去了解! 基礎(chǔ)知識(shí)...

    Vultr 評(píng)論0 收藏0

發(fā)表評(píng)論

0條評(píng)論

最新活動(dòng)
閱讀需要支付1元查看
<