HTML5实现的震撼3D焦点图动画的示例代码


Posted in HTML / CSS onSeptember 26, 2019

这是一款基于HTML5和jQuery的3D焦点图动画,焦点图中的图片利用了CSS3的相关特性实现图片倾斜效果,从而让图片出现3D的视觉效果。这款HTML5焦点图不仅可以手动点击按钮切换图片,而且还支持自动切换图片,使用起来也相当方便。如果你需要在网站中展示产品图片,那么这款焦点图插件非常适合你。

HTML5实现的震撼3D焦点图动画的示例代码

HTML代码
 

<div class="dg-wrapper">
        <a href="#"><img src="images/1.jpg" alt="image01"><div>http://www.colazionedamichy.it/</div></a>
        <a href="#"><img src="images/2.jpg" alt="image02"><div>http://www.percivalclo.com/</div></a>
        <a href="#"><img src="images/3.jpg" alt="image03"><div>http://www.wanda.net/fr</div></a>
        <a href="#"><img src="images/4.jpg" alt="image04"><div>http://lifeingreenville.com/</div></a>
        <a href="#"><img src="images/5.jpg" alt="image05"><div>http://circlemeetups.com/</div></a>
        <a href="#"><img src="images/6.jpg" alt="image06"><div>http://www.castirondesign.com/</div></a>
        <a href="#"><img src="images/7.jpg" alt="image07"><div>http://www.foundrycollective.com/</div></a>
        <a href="#"><img src="images/8.jpg" alt="image08"><div>http://www.mathiassterner.com/home</div></a>
        <a href="#"><img src="images/9.jpg" alt="image09"><div>http://learnlakenona.com/</div></a>
        <a href="#"><img src="images/10.jpg" alt="image10"><div>http://www.neighborhood-studio.com/</div></a>
        <a href="#"><img src="images/11.jpg" alt="image11"><div>http://www.beckindesign.com/</div></a>
        <a href="#"><img src="images/12.jpg" alt="image12"><div>http://kicksend.com/</div></a>
    </div>
    <nav>   
        <span class="dg-prev"><</span>
        <span class="dg-next">></span>
    </nav>
</section>

CSS代码
 

.dg-container{
    width: 100%;
    height: 450px;
    position: relative;
}
.dg-wrapper{
    width: 481px;
    height: 316px;
    margin: 0 auto;
    position: relative;
    -webkit-transform-style: preserve-3d;
    -moz-transform-style: preserve-3d;
    -o-transform-style: preserve-3d;
    -ms-transform-style: preserve-3d;
    transform-style: preserve-3d;
    -webkit-perspective: 1000px;
    -moz-perspective: 1000px;
    -o-perspective: 1000px;
    -ms-perspective: 1000px;
    perspective: 1000px;
}
.dg-wrapper a{
    width: 482px;
    height: 316px;
    display: block;
    position: absolute;
    left: 0;
    top: 0;
    background: transparent url(../images/browser.png) no-repeat top left;
    box-shadow: 0px 10px 20px rgba(0,0,0,0.3);
}
.dg-wrapper a.dg-transition{
    -webkit-transition: all 0.5s ease-in-out;
    -moz-transition: all 0.5s ease-in-out;
    -o-transition: all 0.5s ease-in-out;
    -ms-transition: all 0.5s ease-in-out;
    transition: all 0.5s ease-in-out;
}
.dg-wrapper a img{
    display: block;
    padding: 41px 0px 0px 1px;
}
.dg-wrapper a div{
    font-style: italic;
    text-align: center;
    line-height: 50px;
    text-shadow: 1px 1px 1px rgba(255,255,255,0.5);
    color: #333;
    font-size: 16px;
    width: 100%;
    bottom: -55px;
    display: none;
    position: absolute;
}
.dg-wrapper a.dg-center div{
    display: block;
}
.dg-container nav{
    width: 58px;
    position: absolute;
    z-index: 1000;
    bottom: 40px;
    left: 50%;
    margin-left: -29px;
}
.dg-container nav span{
    text-indent: -9000px;
    float: left;
    cursor:pointer;
    width: 24px;
    height: 25px;
    opacity: 0.8;
    background: transparent url(../images/arrows.png) no-repeat top left;
}
.dg-container nav span:hover{
    opacity: 1;
}
.dg-container nav span.dg-next{
    background-position: top right;
    margin-left: 10px;
}</pre>

## JavaScript代码

<pre class="brush: javascript; gutter: false; first-line: 1 hljs" style="margin: 15px auto; padding: 10px 15px; display: block; overflow-x: auto; color: rgb(51, 51, 51); background: rgb(251, 251, 251); word-break: break-all; overflow-wrap: break-word; white-space: pre-wrap; font: 400 12px/20px "courier new"; border-width: 1px 1px 1px 4px; border-style: solid; border-color: rgb(221, 221, 221); border-image: initial; letter-spacing: normal; orphans: 2; text-align: left; text-indent: 0px; text-transform: none; widows: 2; word-spacing: 0px; -webkit-text-stroke-width: 0px; text-decoration-style: initial; text-decoration-color: initial;">/**
 * jquery.gallery.js
 * http://www.codrops.com
 *
 * Copyright 2011, Pedro Botelho / Codrops
 * Free to use under the MIT license.
 *
 * Date: Mon Jan 30 2012
 */

(function( $, undefined ) {

    /*
     * Gallery object.
     */
    $.Gallery               = function( options, element ) {

        this.$el    = $( element );
        this._init( options );

    };

    $.Gallery.defaults      = {
        current     : 0,    // index of current item
        autoplay    : false,// slideshow on / off
        interval    : 2000  // time between transitions
    };

    $.Gallery.prototype     = {
        _init               : function( options ) {

            this.options        = $.extend( true, {}, $.Gallery.defaults, options );

            // support for 3d / 2d transforms and transitions
            this.support3d      = Modernizr.csstransforms3d;
            this.support2d      = Modernizr.csstransforms;
            this.supportTrans   = Modernizr.csstransitions;

            this.$wrapper       = this.$el.find('.dg-wrapper');

            this.$items         = this.$wrapper.children();
            this.itemsCount     = this.$items.length;

            this.$nav           = this.$el.find('nav');
            this.$navPrev       = this.$nav.find('.dg-prev');
            this.$navNext       = this.$nav.find('.dg-next');

            // minimum of 3 items
            if( this.itemsCount < 3 ) {

                this.$nav.remove();
                return false;

            }   

            this.current        = this.options.current;

            this.isAnim         = false;

            this.$items.css({
                'opacity'   : 0,
                'visibility': 'hidden'
            });

            this._validate();

            this._layout();

            // load the events
            this._loadEvents();

            // slideshow
            if( this.options.autoplay ) {

                this._startSlideshow();

            }

        },
        _validate           : function() {

            if( this.options.current < 0 || this.options.current > this.itemsCount - 1 ) {

                this.current = 0;

            }   

        },
        _layout             : function() {

            // current, left and right items
            this._setItems();

            // current item is not changed
            // left and right one are rotated and translated
            var leftCSS, rightCSS, currentCSS;

            if( this.support3d && this.supportTrans ) {

                leftCSS     = {
                    '-webkit-transform' : 'translateX(-350px) translateZ(-200px) rotateY(45deg)',
                    '-moz-transform'    : 'translateX(-350px) translateZ(-200px) rotateY(45deg)',
                    '-o-transform'      : 'translateX(-350px) translateZ(-200px) rotateY(45deg)',
                    '-ms-transform'     : 'translateX(-350px) translateZ(-200px) rotateY(45deg)',
                    'transform'         : 'translateX(-350px) translateZ(-200px) rotateY(45deg)'
                };

                rightCSS    = {
                    '-webkit-transform' : 'translateX(350px) translateZ(-200px) rotateY(-45deg)',
                    '-moz-transform'    : 'translateX(350px) translateZ(-200px) rotateY(-45deg)',
                    '-o-transform'      : 'translateX(350px) translateZ(-200px) rotateY(-45deg)',
                    '-ms-transform'     : 'translateX(350px) translateZ(-200px) rotateY(-45deg)',
                    'transform'         : 'translateX(350px) translateZ(-200px) rotateY(-45deg)'
                };

                leftCSS.opacity     = 1;
                leftCSS.visibility  = 'visible';
                rightCSS.opacity    = 1;
                rightCSS.visibility = 'visible';

            }
            else if( this.support2d && this.supportTrans ) {

                leftCSS     = {
                    '-webkit-transform' : 'translate(-350px) scale(0.8)',
                    '-moz-transform'    : 'translate(-350px) scale(0.8)',
                    '-o-transform'      : 'translate(-350px) scale(0.8)',
                    '-ms-transform'     : 'translate(-350px) scale(0.8)',
                    'transform'         : 'translate(-350px) scale(0.8)'
                };

                rightCSS    = {
                    '-webkit-transform' : 'translate(350px) scale(0.8)',
                    '-moz-transform'    : 'translate(350px) scale(0.8)',
                    '-o-transform'      : 'translate(350px) scale(0.8)',
                    '-ms-transform'     : 'translate(350px) scale(0.8)',
                    'transform'         : 'translate(350px) scale(0.8)'
                };

                currentCSS  = {
                    'z-index'           : 999
                };

                leftCSS.opacity     = 1;
                leftCSS.visibility  = 'visible';
                rightCSS.opacity    = 1;
                rightCSS.visibility = 'visible';

            }

            this.$leftItm.css( leftCSS || {} );
            this.$rightItm.css( rightCSS || {} );

            this.$currentItm.css( currentCSS || {} ).css({
                'opacity'   : 1,
                'visibility': 'visible'
            }).addClass('dg-center');

        },
        _setItems           : function() {

            this.$items.removeClass('dg-center');

            this.$currentItm    = this.$items.eq( this.current );
            this.$leftItm       = ( this.current === 0 ) ? this.$items.eq( this.itemsCount - 1 ) : this.$items.eq( this.current - 1 );
            this.$rightItm      = ( this.current === this.itemsCount - 1 ) ? this.$items.eq( 0 ) : this.$items.eq( this.current + 1 );

            if( !this.support3d && this.support2d && this.supportTrans ) {

                this.$items.css( 'z-index', 1 );
                this.$currentItm.css( 'z-index', 999 );

            }

            // next & previous items
            if( this.itemsCount > 3 ) {

                // next item
                this.$nextItm       = ( this.$rightItm.index() === this.itemsCount - 1 ) ? this.$items.eq( 0 ) : this.$rightItm.next();
                this.$nextItm.css( this._getCoordinates('outright') );

                // previous item
                this.$prevItm       = ( this.$leftItm.index() === 0 ) ? this.$items.eq( this.itemsCount - 1 ) : this.$leftItm.prev();
                this.$prevItm.css( this._getCoordinates('outleft') );

            }

        },
        _loadEvents         : function() {

            var _self   = this;

            this.$navPrev.on( 'click.gallery', function( event ) {

                if( _self.options.autoplay ) {

                    clearTimeout( _self.slideshow );
                    _self.options.autoplay  = false;

                }

                _self._navigate('prev');
                return false;

            });

            this.$navNext.on( 'click.gallery', function( event ) {

                if( _self.options.autoplay ) {

                    clearTimeout( _self.slideshow );
                    _self.options.autoplay  = false;

                }

                _self._navigate('next');
                return false;

            });

            this.$wrapper.on( 'webkitTransitionEnd.gallery transitionend.gallery OTransitionEnd.gallery', function( event ) {

                _self.$currentItm.addClass('dg-center');
                _self.$items.removeClass('dg-transition');
                _self.isAnim    = false;

            });

        },
        _getCoordinates     : function( position ) {

            if( this.support3d && this.supportTrans ) {

                switch( position ) {
                    case 'outleft':
                        return {
                            '-webkit-transform' : 'translateX(-450px) translateZ(-300px) rotateY(45deg)',
                            '-moz-transform'    : 'translateX(-450px) translateZ(-300px) rotateY(45deg)',
                            '-o-transform'      : 'translateX(-450px) translateZ(-300px) rotateY(45deg)',
                            '-ms-transform'     : 'translateX(-450px) translateZ(-300px) rotateY(45deg)',
                            'transform'         : 'translateX(-450px) translateZ(-300px) rotateY(45deg)',
                            'opacity'           : 0,
                            'visibility'        : 'hidden'
                        };
                        break;
                    case 'outright':
                        return {
                            '-webkit-transform' : 'translateX(450px) translateZ(-300px) rotateY(-45deg)',
                            '-moz-transform'    : 'translateX(450px) translateZ(-300px) rotateY(-45deg)',
                            '-o-transform'      : 'translateX(450px) translateZ(-300px) rotateY(-45deg)',
                            '-ms-transform'     : 'translateX(450px) translateZ(-300px) rotateY(-45deg)',
                            'transform'         : 'translateX(450px) translateZ(-300px) rotateY(-45deg)',
                            'opacity'           : 0,
                            'visibility'        : 'hidden'
                        };
                        break;
                    case 'left':
                        return {
                            '-webkit-transform' : 'translateX(-350px) translateZ(-200px) rotateY(45deg)',
                            '-moz-transform'    : 'translateX(-350px) translateZ(-200px) rotateY(45deg)',
                            '-o-transform'      : 'translateX(-350px) translateZ(-200px) rotateY(45deg)',
                            '-ms-transform'     : 'translateX(-350px) translateZ(-200px) rotateY(45deg)',
                            'transform'         : 'translateX(-350px) translateZ(-200px) rotateY(45deg)',
                            'opacity'           : 1,
                            'visibility'        : 'visible'
                        };
                        break;
                    case 'right':
                        return {
                            '-webkit-transform' : 'translateX(350px) translateZ(-200px) rotateY(-45deg)',
                            '-moz-transform'    : 'translateX(350px) translateZ(-200px) rotateY(-45deg)',
                            '-o-transform'      : 'translateX(350px) translateZ(-200px) rotateY(-45deg)',
                            '-ms-transform'     : 'translateX(350px) translateZ(-200px) rotateY(-45deg)',
                            'transform'         : 'translateX(350px) translateZ(-200px) rotateY(-45deg)',
                            'opacity'           : 1,
                            'visibility'        : 'visible'
                        };
                        break;
                    case 'center':
                        return {
                            '-webkit-transform' : 'translateX(0px) translateZ(0px) rotateY(0deg)',
                            '-moz-transform'    : 'translateX(0px) translateZ(0px) rotateY(0deg)',
                            '-o-transform'      : 'translateX(0px) translateZ(0px) rotateY(0deg)',
                            '-ms-transform'     : 'translateX(0px) translateZ(0px) rotateY(0deg)',
                            'transform'         : 'translateX(0px) translateZ(0px) rotateY(0deg)',
                            'opacity'           : 1,
                            'visibility'        : 'visible'
                        };
                        break;
                };

            }
            else if( this.support2d && this.supportTrans ) {

                switch( position ) {
                    case 'outleft':
                        return {
                            '-webkit-transform' : 'translate(-450px) scale(0.7)',
                            '-moz-transform'    : 'translate(-450px) scale(0.7)',
                            '-o-transform'      : 'translate(-450px) scale(0.7)',
                            '-ms-transform'     : 'translate(-450px) scale(0.7)',
                            'transform'         : 'translate(-450px) scale(0.7)',
                            'opacity'           : 0,
                            'visibility'        : 'hidden'
                        };
                        break;
                    case 'outright':
                        return {
                            '-webkit-transform' : 'translate(450px) scale(0.7)',
                            '-moz-transform'    : 'translate(450px) scale(0.7)',
                            '-o-transform'      : 'translate(450px) scale(0.7)',
                            '-ms-transform'     : 'translate(450px) scale(0.7)',
                            'transform'         : 'translate(450px) scale(0.7)',
                            'opacity'           : 0,
                            'visibility'        : 'hidden'
                        };
                        break;
                    case 'left':
                        return {
                            '-webkit-transform' : 'translate(-350px) scale(0.8)',
                            '-moz-transform'    : 'translate(-350px) scale(0.8)',
                            '-o-transform'      : 'translate(-350px) scale(0.8)',
                            '-ms-transform'     : 'translate(-350px) scale(0.8)',
                            'transform'         : 'translate(-350px) scale(0.8)',
                            'opacity'           : 1,
                            'visibility'        : 'visible'
                        };
                        break;
                    case 'right':
                        return {
                            '-webkit-transform' : 'translate(350px) scale(0.8)',
                            '-moz-transform'    : 'translate(350px) scale(0.8)',
                            '-o-transform'      : 'translate(350px) scale(0.8)',
                            '-ms-transform'     : 'translate(350px) scale(0.8)',
                            'transform'         : 'translate(350px) scale(0.8)',
                            'opacity'           : 1,
                            'visibility'        : 'visible'
                        };
                        break;
                    case 'center':
                        return {
                            '-webkit-transform' : 'translate(0px) scale(1)',
                            '-moz-transform'    : 'translate(0px) scale(1)',
                            '-o-transform'      : 'translate(0px) scale(1)',
                            '-ms-transform'     : 'translate(0px) scale(1)',
                            'transform'         : 'translate(0px) scale(1)',
                            'opacity'           : 1,
                            'visibility'        : 'visible'
                        };
                        break;
                };

            }
            else {

                switch( position ) {
                    case 'outleft'  : 
                    case 'outright' : 
                    case 'left'     : 
                    case 'right'    :
                        return {
                            'opacity'           : 0,
                            'visibility'        : 'hidden'
                        };
                        break;
                    case 'center'   :
                        return {
                            'opacity'           : 1,
                            'visibility'        : 'visible'
                        };
                        break;
                };

            }

        },
        _navigate           : function( dir ) {

            if( this.supportTrans && this.isAnim )
                return false;

            this.isAnim = true;

            switch( dir ) {

                case 'next' :

                    this.current    = this.$rightItm.index();

                    // current item moves left
                    this.$currentItm.addClass('dg-transition').css( this._getCoordinates('left') );

                    // right item moves to the center
                    this.$rightItm.addClass('dg-transition').css( this._getCoordinates('center') ); 

                    // next item moves to the right
                    if( this.$nextItm ) {

                        // left item moves out
                        this.$leftItm.addClass('dg-transition').css( this._getCoordinates('outleft') );

                        this.$nextItm.addClass('dg-transition').css( this._getCoordinates('right') );

                    }
                    else {

                        // left item moves right
                        this.$leftItm.addClass('dg-transition').css( this._getCoordinates('right') );

                    }
                    break;

                case 'prev' :

                    this.current    = this.$leftItm.index();

                    // current item moves right
                    this.$currentItm.addClass('dg-transition').css( this._getCoordinates('right') );

                    // left item moves to the center
                    this.$leftItm.addClass('dg-transition').css( this._getCoordinates('center') );

                    // prev item moves to the left
                    if( this.$prevItm ) {

                        // right item moves out
                        this.$rightItm.addClass('dg-transition').css( this._getCoordinates('outright') );

                        this.$prevItm.addClass('dg-transition').css( this._getCoordinates('left') );

                    }
                    else {

                        // right item moves left
                        this.$rightItm.addClass('dg-transition').css( this._getCoordinates('left') );

                    }
                    break;  

            };

            this._setItems();

            if( !this.supportTrans )
                this.$currentItm.addClass('dg-center');

        },
        _startSlideshow     : function() {

            var _self   = this;

            this.slideshow  = setTimeout( function() {

                _self._navigate( 'next' );

                if( _self.options.autoplay ) {

                    _self._startSlideshow();

                }

            }, this.options.interval );

        },
        destroy             : function() {

            this.$navPrev.off('.gallery');
            this.$navNext.off('.gallery');
            this.$wrapper.off('.gallery');

        }
    };

    var logError            = function( message ) {
        if ( this.console ) {
            console.error( message );
        }
    };

    $.fn.gallery            = function( options ) {

        if ( typeof options === 'string' ) {

            var args = Array.prototype.slice.call( arguments, 1 );

            this.each(function() {

                var instance = $.data( this, 'gallery' );

                if ( !instance ) {
                    logError( "cannot call methods on gallery prior to initialization; " +
                    "attempted to call method '" + options + "'" );
                    return;
                }

                if ( !$.isFunction( instance[options] ) || options.charAt(0) === "_" ) {
                    logError( "no such method '" + options + "' for gallery instance" );
                    return;
                }

                instance[ options ].apply( instance, args );

            });

        } 
        else {

            this.each(function() {

                var instance = $.data( this, 'gallery' );
                if ( !instance ) {
                    $.data( this, 'gallery', new $.Gallery( options, this ) );
                }
            });

        }

        return this;

    };

})( jQuery );

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持三水点靠木。

HTML / CSS 相关文章推荐
纯CSS实现设置半个字符的样式
Jul 03 HTML / CSS
CSS3实现鼠标悬停显示扩展内容
Aug 24 HTML / CSS
CSS3按钮鼠标悬浮实现光圈效果源码
Sep 11 HTML / CSS
css3中单位px,em,rem,vh,vw,vmin,vmax的区别及浏览器支持情况
Dec 06 HTML / CSS
只要五步 就可以用HTML5/CSS3快速制作便签贴特效(图)
Jun 04 HTML / CSS
html5 的a标签 Href 拨电话的写法
Nov 04 HTML / CSS
深入解析HTML5使用SVG图像时的viewBox属性用法
Sep 02 HTML / CSS
不可轻视HTML5!App三年内将被html5顶替彻底消失
Nov 18 HTML / CSS
原生 JS+CSS+HTML 实现时序图的方法
Jul 31 HTML / CSS
使用canvas实现黑客帝国数字雨效果
Jan 02 HTML / CSS
html5中使用hotcss.js实现手机端自适配的方法
Apr 23 HTML / CSS
CSS 鼠标选中文字后改变背景色的实现代码
May 21 HTML / CSS
基于 HTML5 WebGL 实现的垃圾分类系统
Oct 08 #HTML / CSS
HTML5移动端开发遇见的东西
Oct 11 #HTML / CSS
分享一个页面平滑滚动小技巧(推荐)
Oct 23 #HTML / CSS
分享一个H5原生form表单的checkbox特效代码
Feb 26 #HTML / CSS
利用HTML5+css3+jquery+weui实现仿微信聊天界面功能
Jan 08 #HTML / CSS
canvas基础之图形验证码的示例
Jan 02 #HTML / CSS
HTML5实现分享到微信好友朋友圈QQ好友QQ空间微博二维码功能
Jan 03 #HTML / CSS
You might like
php获取微信共享收货地址的方法
2017/12/21 PHP
PHP+redis实现微博的推模型案例分析
2019/07/10 PHP
jQuery 白痴级入门教程
2009/11/11 Javascript
Jquery Ajax学习实例6 向WebService发出请求,返回DataSet(XML) 异步调用
2010/03/18 Javascript
根据对象的某一属性进行排序的js代码(如:name,age)
2010/08/10 Javascript
动态的改变IFrame的高度实现IFrame自动伸展适应高度
2012/12/28 Javascript
js日期联动示例
2014/05/02 Javascript
Jquery 监视按键,按下回车键触发某方法的实现代码
2014/05/11 Javascript
node.js中的fs.closeSync方法使用说明
2014/12/17 Javascript
js实现星星打分效果的方法
2020/07/05 Javascript
JavaScript动态提示输入框输入字数的方法
2015/07/27 Javascript
基于jQuery插件jqzoom实现的图片放大镜效果示例
2017/01/23 Javascript
Angualrjs和bootstrap相结合实现数据表格table
2017/03/30 Javascript
vue cli构建的项目中请求代理与项目打包问题
2018/02/26 Javascript
javascript少儿编程关于返回值的函数内容
2018/05/27 Javascript
vue相关配置文件详解及多环境配置详细步骤
2020/05/19 Javascript
[01:39:04]DOTA2-DPC中国联赛 正赛 SAG vs CDEC BO3 第二场 2月1日
2021/03/11 DOTA
python2.7的编码问题与解决方法
2016/10/04 Python
Python2.7+pytesser实现简单验证码的识别方法
2017/12/29 Python
对python中raw_input()和input()的用法详解
2018/04/22 Python
python计算日期之间的放假日期
2018/06/05 Python
tensorflow 动态获取 BatchSzie 的大小实例
2020/06/30 Python
python 自定义异常和主动抛出异常(raise)的操作
2020/12/11 Python
matplotlib绘制鼠标的十字光标的实现(自定义方式,官方实例)
2021/01/10 Python
HTML5实现表单自动验证功能实例代码
2017/01/11 HTML / CSS
HTML5 图片悬停放大的实现代码示例
2019/12/04 HTML / CSS
Html5在手机端调用相机的方法实现
2020/05/13 HTML / CSS
本科毕业生自我鉴定
2013/11/02 职场文书
机电一体化自荐信
2013/12/10 职场文书
2015年宣传部部长竞选演讲稿
2014/11/28 职场文书
2016年圣诞节活动总结范文
2016/04/01 职场文书
爱岗敬业事迹材料
2019/06/20 职场文书
python迷宫问题深度优先遍历实例
2021/06/20 Python
Python max函数中key的用法及原理解析
2021/06/26 Python
vue中控制mock在开发环境使用,在生产环境禁用方式
2022/04/06 Vue.js
Python tensorflow卷积神经Inception V3网络结构
2022/05/06 Python