随机图片滚动 【总结】

需求

 

 

需求分析:

每个一段时间图片随机运动

并不是一个运动完再运动下一个,而是有多个图片列表延迟不同的时间再运动

实现思路:

1.图片列表我用js生成再插入,图片数据和href数据放在json里再把json放再数组里

2.每个一段时间执行定时器绑定doMove函数,实现随机运动的要点就是,定时器的延迟时间不一样

3.每次执行绑定之前判断当前图片列表位置是否到头,如果到头就归回原位

难点:

难点解决方案:

涉及的新知识:

用json存数据

优化方向:

图片的参数是我手动写进js里的,后期学ajax要让它自动获得。

备注:

 

 

(function(){

    var oWrap = $('wrap');

    //8个图片列表
    var imgArr = [
        [
            {'imgSrc':'img/1.jpg','tHref':'http://www.baidu.com'},
            {'imgSrc':'img/2.jpg','tHref':'http://www.baidu.com'}
        ],
        [
            {'imgSrc':'img/5.jpg','tHref':'http://www.baidu.com'},
            {'imgSrc':'img/4.jpg','tHref':'http://www.baidu.com'},
            {'imgSrc':'img/1.jpg','tHref':'http://www.baidu.com'}
        ],
        [
            {'imgSrc':'img/5.jpg','tHref':'http://www.baidu.com'},
            {'imgSrc':'img/6.jpg','tHref':'http://www.baidu.com'},
            {'imgSrc':'img/7.jpg','tHref':'http://www.baidu.com'},
            {'imgSrc':'img/8.jpg','tHref':'http://www.baidu.com'},
            {'imgSrc':'img/9.jpg','tHref':'http://www.baidu.com'}
        ],
        [
            {'imgSrc':'img/1.jpg','tHref':'http://www.baidu.com'},
            {'imgSrc':'img/2.jpg','tHref':'http://www.baidu.com'},
            {'imgSrc':'img/3.jpg','tHref':'http://www.baidu.com'},
            {'imgSrc':'img/4.jpg','tHref':'http://www.baidu.com'},
            {'imgSrc':'img/5.jpg','tHref':'http://www.baidu.com'}
        ],
        [
            {'imgSrc':'img/2.jpg','tHref':'http://www.baidu.com'},
            {'imgSrc':'img/3.jpg','tHref':'http://www.baidu.com'},
            {'imgSrc':'img/4.jpg','tHref':'http://www.baidu.com'},
            {'imgSrc':'img/5.jpg','tHref':'http://www.baidu.com'},
            {'imgSrc':'img/6.jpg','tHref':'http://www.baidu.com'}
        ],
        [
            {'imgSrc':'img/7.jpg','tHref':'http://www.baidu.com'},
            {'imgSrc':'img/8.jpg','tHref':'http://www.baidu.com'},
            {'imgSrc':'img/9.jpg','tHref':'http://www.baidu.com'},
            {'imgSrc':'img/10.jpg','tHref':'http://www.baidu.com'},
            {'imgSrc':'img/1.jpg','tHref':'http://www.baidu.com'}
        ],
        [
            {'imgSrc':'img/1.jpg','tHref':'http://www.baidu.com'},
            {'imgSrc':'img/2.jpg','tHref':'http://www.baidu.com'},
            {'imgSrc':'img/3.jpg','tHref':'http://www.baidu.com'},
            {'imgSrc':'img/4.jpg','tHref':'http://www.baidu.com'},
            {'imgSrc':'img/5.jpg','tHref':'http://www.baidu.com'}
        ],
        [
            {'imgSrc':'img/5.jpg','tHref':'http://www.baidu.com'},
            {'imgSrc':'img/4.jpg','tHref':'http://www.baidu.com'},
            {'imgSrc':'img/3.jpg','tHref':'http://www.baidu.com'},
            {'imgSrc':'img/2.jpg','tHref':'http://www.baidu.com'},
            {'imgSrc':'img/1.jpg','tHref':'http://www.baidu.com'}
        ],
        [
            {'imgSrc':'img/1.jpg','tHref':'http://www.baidu.com'},
            {'imgSrc':'img/2.jpg','tHref':'http://www.baidu.com'},
            {'imgSrc':'img/3.jpg','tHref':'http://www.baidu.com'},
            {'imgSrc':'img/4.jpg','tHref':'http://www.baidu.com'},
            {'imgSrc':'img/5.jpg','tHref':'http://www.baidu.com'}
        ],
        [
            {'imgSrc':'img/5.jpg','tHref':'http://www.baidu.com'},
            {'imgSrc':'img/4.jpg','tHref':'http://www.baidu.com'},
            {'imgSrc':'img/3.jpg','tHref':'http://www.baidu.com'},
            {'imgSrc':'img/2.jpg','tHref':'http://www.baidu.com'},
            {'imgSrc':'img/1.jpg','tHref':'http://www.baidu.com'}
        ]
    ]
    var imgSrcLen = imgArr.length;

    /*
        eA存放每个图片标签
        eAs存放一个图片列表的标签<a></a><a></a><a></a><a></a>...
        eDiv用来套住一个图片列表的标签<div><a></a><a></a><a></a><a></a>...</div>
        eDivs用来存放所有图片列表<div><a></a><a></a><a></a><a></a>...</div>......
        最后写进oWrap里
    */

    var eDiv = null,
        eDivs = '',
        eImg = null,
        eA = '',
        eAs = '';


    for( var i=0; i<imgSrcLen; i++ ){
        eAs = ''
        for( var j=0,len = imgArr[i].length; j<len; j++ ){
            eA = '<a href='+ imgArr[i][j].tHref +'><img src='+ imgArr[i][j].imgSrc +'></a>';
            eAs += eA;
        }

        eDiv = '<div class="barWrap"><div class="bar">'+ eAs +'</div></div>';
        eDivs += eDiv;
    }
    oWrap.innerHTML += eDivs;


})();




(function executeFn(){

/*
    oDiv是每个图片列表
    tRandom产生随机时间

    每个一段时间给所有的图片列表重新添加定时器,并且这些定时器的执行时间是随机的
    每次for都要获取当前图片列表的图片数,和当前图片列表的top值,如果top值到头了就重头开始

*/

    var oDiv = $class('div','bar'),
        oDivLen = oDiv.length;
        tRandom = null,
        doDiv = null,
        oldDiv = null;

    setTimeout(function timeFn(){


        for(var i=0; i<oDivLen; i++){
            doDiv = oDiv[i];
            doDiv.aA = doDiv.getElementsByTagName('a').length;
            doDiv.tTop = parseInt( getStyle( doDiv,'top' ) ) - 50;
            if( doDiv.tTop <= -50*doDiv.aA ){ doDiv.tTop = 0 }
            if( oldDiv == doDiv ){ break; }

            tRandom = Math.floor( Math.random()*2000+100 );
            doMove( oDiv[i],'top',5,doDiv.tTop,tRandom,30 );

        }



        oldDiv = doDiv;

        setTimeout(timeFn,4000);
    },1000);





})();

 

 

<!DOCTYPE html>
<html>
<head>
    <meta charset="utf-8">
    <title></title>

<style>
    
#wrap{ width: 260px; background: #999; margin: 100px auto; }
.barWrap{ width: 120px; height: 50px; float: left; margin: 5px; position: relative; overflow: hidden; }
.bar{ position: absolute; top: 0; }
.bar a{ float: left; }
.bar a,.bar img{ width: 120px; height: 50px; }


.clear{ zoom: 1; }
.clear:after{ content: ''; display: block; clear: both; vertical-align: middle; }

</style>

</head>
<body>




<div class="clear" id="wrap">
    
</div>





<script src="getId.js"></script>
<script src="doMove.js"></script>
<script src="main.js"></script>

</body>
</html>

 

转载于:https://www.cnblogs.com/mflnhg/p/9489703.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
图像识别技术在病虫害检测中的应用是一个快速发展的领域,它结合了计算机视觉和机器学习算法来自动识别和分类植物上的病虫害。以下是这一技术的一些关键步骤和组成部分: 1. **数据收集**:首先需要收集大量的植物图像数据,这些数据包括健康植物的图像以及受不同病虫害影响的植物图像。 2. **图像预处理**:对收集到的图像进行处理,以提高后续分析的准确性。这可能包括调整亮度、对比度、去噪、裁剪、缩放等。 3. **特征提取**:从图像中提取有助于识别病虫害的特征。这些特征可能包括颜色、纹理、形状、边缘等。 4. **模型训练**:使用机器学习算法(如支持向量机、随机森林、卷积神经网络等)来训练模型。训练过程中,算法会学习如何根据提取的特征来识别不同的病虫害。 5. **模型验证和测试**:在独立的测试集上验证模型的性能,以确保其准确性和泛化能力。 6. **部署和应用**:将训练好的模型部署到实际的病虫害检测系统中,可以是移动应用、网页服务或集成到智能农业设备中。 7. **实时监测**:在实际应用中,系统可以实时接收植物图像,并快速给出病虫害的检测结果。 8. **持续学习**:随着时间的推移,系统可以不断学习新的病虫害样本,以提高其识别能力。 9. **用户界面**:为了方便用户使用,通常会有一个用户友好的界面,显示检测结果,并提供进一步的指导或建议。 这项技术的优势在于它可以快速、准确地识别出病虫害,甚至在早期阶段就能发现问题,从而及时采取措施。此外,它还可以减少对化学农药的依赖,支持可持续农业发展。随着技术的不断进步,图像识别在病虫害检测中的应用将越来越广泛。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值