利用jQuery、setInterval实现头像各种出现效果
来源:互联网 发布:淘宝怎么开直播卖东西 编辑:程序博客网 时间:2024/06/09 15:15
始终不够聪明,写个setInterval都好费劲,心酸不说了,上菜~
html和css是相同的,只有js不同
HTML
<!DOCTYPE html><html lang="en" ng-app="demo"><head> <meta charset="UTF-8"> <meta http-equiv="Content-Type" Content="text/html; charset=utf-8;"> <meta content="width=device-width,user-scalable=no,initial-scale=1.0" name="viewport"> <title>开锁展示</title> <link href="https://cdn.bootcss.com/bootstrap/3.3.6/css/bootstrap.css" rel="stylesheet"> <link rel="stylesheet" href="index.css"></head><body ng-controller="ctrlDemo"> <div class="container"> <div class="row"> <div class="col-md-9"> <div class="wrap" id="wrap"> <div class="box box1"> <div class="mask"></div> <ul></ul> <div class="btn btn-success hidden" ng-click="open($event)">打开</div> </div> <div class="box box2"> <div class="mask"></div> <ul></ul> <div class="btn btn-success hidden" ng-click="open($event)">打开</div> </div> <div class="box box3"> <div class="mask"></div> <ul></ul> <div class="btn btn-success hidden" ng-click="open($event)">打开</div> </div> <div class="box box4"> <div class="mask"></div> <ul></ul> <div class="btn btn-success hidden" ng-click="open($event)">打开</div> </div> </div> </div> <div class="col-md-3"> <div class="side"> <ul> <li ng-repeat="p in persons"> <img class="headImg" ng-src="{{p.headimg_url}}" /> <p class="name" ng-bind="p.nickname"></p> </li> </ul> </div> <button class="btn btn-info" ng-click="start()">开始</button> </div> </div> </div></body><script src="https://cdn.bootcss.com/jquery/3.2.1/jquery.js"></script><script src="https://cdn.bootcss.com/angular.js/1.5.6/angular.js"></script><script src="index.js"></script></html>
css
ul,ol{padding-left:0;margin-bottom:0;list-style:none;}.container{width:1200px;margin-top:50px;}.col-md-9,.col-md-3{padding-right:0;padding-left:0;position:relative;}/* 左侧 */.box{float:left;width:50%;height:300px;position: relative;}.mask{width:100%;height:100%;position:absolute;top:0;left:0;background-color: #eee;}.box > ul{width: 100%;position: relative;}.box > ul > li{float: left;position: relative;height: 100%;}.box >ul > li > img{width: 100%;height: 100%;border-radius: 50%;position: absolute;top:0;left:0;}.box > .btn{position: relative;}/* 右侧 */.side{width: 100%;overflow: hidden;background-color: pink;}.side li{float: left;width: 20%;height: 50px;margin-bottom: 15px;}.side li > .headImg{width: 30px;height: 30px;border-radius: 50%;}.side li > .name{font-size: 12px;margin-bottom: 0px;}
统一的js
app.controller('ctrlDemo', ['$scope', '$interval', '$http', '$location', function($scope, $interval, $http, $location) { var eachNum, uls = document.querySelectorAll(".box ul"); $scope.start......}]);
头像一个个的出(代码只优化到这了)
$scope.start = function(){ var count = 0, i = 0; function appendEle(ul) { ul.css("height", ul.width() / eachNum); var li = $("<li></li>"), img = $("<img src='" + $scope.persons[count].headimg_url + "'/>"); li.css("width", ul.width() / eachNum); $(li).append(img); ul.append(li); } var d = setInterval(function() { if ($(uls[0]).children().length < eachNum) { appendEle($(uls[0])); } else if ($(uls[0]).children().length === eachNum && $(uls[1]).children().length < eachNum) { appendEle($(uls[1])); } else if ($(uls[0]).children().length === eachNum && $(uls[1]).children().length === eachNum && $(uls[2]).children().length < eachNum) { appendEle($(uls[2])); }else if ($(uls[0]).children().length === eachNum && $(uls[1]).children().length === eachNum && $(uls[2]).children().length === eachNum && $(uls[3]).children().length < eachNum) { appendEle($(uls[3])); } else if ($(uls[0]).children().length == eachNum && $(uls[1]).children().length == eachNum && $(uls[2]).children().length === eachNum && $(uls[3]).children().length === eachNum) { clearInterval(d); } count++; }, 500);}
一组一组的出
$scope.start = function(){ var count = 0, i = 0; function appendEle(ul) { ul.css("height", ul.width() / eachNum); for(var j = 0; j < eachNum; j++) { var li = $("<li></li>"), img = $("<img src='" + $scope.persons[count].headimg_url + "'/>"); li.css("width", ul.width() / eachNum); $(li).append(img); ul.append(li); count++; } } var end = setInterval(function(){ if(i > 3){ window.clearInterval(end); return false; } appendEle($(uls[i])); i++; },500);}
每组同时各出一个
$scope.start = function() { var count = 0, i = 0; angular.forEach(uls, function(ul) { $(ul).css("height", $(ul).width()/ eachNum); createEle(ul); }); function createEle(ul) { var timer = setInterval(function(){ if($(ul).children().length < eachNum) { var li = $("<li></li>"), img = $("<img src='" + $scope.persons[count].headimg_url + "'/>"); li.css("width", $(ul).width() / eachNum); $(li).append(img); $(ul).append(li); } else { clearInterval(timer); } count++; }, 500); } }
阅读全文
0 0
- 利用jQuery、setInterval实现头像各种出现效果
- java利用jquery和smartupload实现头像上传切割效果
- Android利用CircleImageView实现圆形头像效果
- 利用setTimeout实现延迟读取头像附加信息的效果(jQuery)
- 利用Jquery实现tab效果
- 利用Jquery实现百叶窗效果
- 利用铁匠组件实现在线头像截图的效果
- Android利用CircleImageView实现圆形头像效果整理
- 实现圆形头像效果
- jquery实现股票的各种效果
- 分享一个自己利用javascript中的window.setInterval()定时器实现页面背景图片淡入淡出效果
- 利用JQuery Mobile实现切换效果
- 利用jQuery实现**站删除效果
- 利用jquery实现瀑布流效果
- Jquery结合setinterval实现ajax实时刷新前台数据的效果
- 利用setInterval()实现每隔两秒依次出现数组中的一个值
- android 头像组合效果实现
- jquery 各种滑动效果
- 替换空格
- 越限数据库功能 打印及画面拷贝功能
- 八皇后问题
- SpringMVC操作数据库的时候出现乱码
- 如何优雅编码 和 快速调试
- 利用jQuery、setInterval实现头像各种出现效果
- Oracle数据库备份与还原部分内容
- 2017大数据迎来新变化
- JMeter 的测试工具的简单实用
- Xcode8打的包安装在iOS11系统上,为什么未出现适配问题?
- Spring事务不回滚,捕获异常后不抛出不回滚
- poj2115欧几里德扩展
- mysql 基础操作文章
- 平年和闰年的区别