angular指令的简单练习
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>quick work</title>
<script type="text/javascript" src="../jquery.js"></script>
<script type="text/javascript" src="../angular-1.4.1/angular-1.4.1/angular.js"></script>
<style type="text/css">
*{
margin: 0 auto;
padding: 0px;
}
li{
list-style: none;
}
.total {
width: 640px;
height: auto;
border:1px solid #333;
}
.total_top{
border : 1px solid #333;
margin: 20px;
height: 100px;
overflow: hidden;
}
.total_bottom {
width: 100%;
height: 60px;
border-top: 1px solid #333;
display: inline-flex;
align-items: center;
}
ul {
width: 400%;
height: 100px;
overflow: hidden;
}
.moveDiv{
height: 100px;
width: 100%;
}
ul li{
height: 100%;
display: block;
float: left;
}
.total_bottom span {
font-size: 20px;
color: #000;
display: block;
width: 60px;
height: 60px;
text-align: center;
line-height: 60px;
cursor: pointer;
margin: 0px;
}
.total_bottom_left{
border-right: 1px solid #333;
float: left; }
.total_bottom_right{
border-left: 1px solid #333;
float: right; }
.bottom_cen {
margin: 0 auto;
text-align: center;
float: left;
}
.bottom_cen a{
width: 15px;
height: 5px;
background-color: #000;
float: left;
margin-right: 10px;
}
</style>
</head>
<body ng-app = "quickApp">
<div ng-controller = "quickController">
<div class="total">
<total-content dataset-data = "totalData" li-width = "width" clickindex = "clickM(index)"></total-content>
<!-- <div class="total_top">
<ul>
<li ng-repeat = "data in totalData">{{data.content}}</li>
</ul>
</div>
<div> <quick-boor dataset-data = "totalData" ></quick-boor>
</div> -->
</div>
</div>
</body>
<script type="text/javascript">
var app =angular.module("quickApp",[]);
app.controller("quickController",function($scope,$timeout){
$timeout(function() {
angular.element(".total_top ul li").css({"width" : $(".total_top").width() + "px"});
$scope.width = $(".total_top").width();
});
$scope.totalData = [{
"content" : "111111111"
},{
"content" : "222222222"
},{
"content" : "3333333333"
}];
// --------1
// $scope.clickM = function(index){
// angular.element(".total_top ul").stop().animate({marginLeft : - $scope.width * index + "px"},500);
// }
})
.directive("totalContent",function($timeout){
return {
restrict : 'E',
replace : true,
scope : {
datasetData : "=",
liWidth : "="
// liWidth : "=", ------1
// clickindex : "&" -----1
},
template : '<div><div class="total_top">'+
'<ul>'+
'<li ng-repeat = "data in datasetData">{{data.content}}</li>'+
'</ul>'+
'</div><div class="total_bottom">' +
'<span class="total_bottom_left" ng-click = "onClickLeft()"><</span>'+
'<div class="bottom_cen">' +
// ng-click="clickindex({index : $index}) 1
'<a href="#" ng-repeat = "data in datasetData" ng-click="clickindex($index)"></a>' +
'</div>' +
'<span class="total_bottom_right" ng-click = "onClickRight()">></span>' +
'</div>' +
'</div></div>',
link : function(scope,elem,attrs) {
// $timeout(function() {
// angular.element(".total_top ul li").css({"width" : angular.element(".total_top").width() + "px"});
// scope.width = angular.element(".total_top").width();
// }); scope.index = 0; scope.clickindex = function(index){
scope.index = index
angular.element(".total_top ul").stop().animate({marginLeft : - scope.liWidth * index + "px"},500);
}
scope.onClickLeft = function(){
if(scope.index < angular.element(".total_top ul li").length - 1 && scope.index >= 0){
scope.index ++;
angular.element(".total_top ul").stop().animate({marginLeft : - scope.liWidth * scope.index + "px"},500); } }
scope.onClickRight = function(){
if(scope.index <= angular.element(".total_top ul li").length - 1 && scope.index > 0){
scope.index --;
angular.element(".total_top ul").stop().animate({marginLeft : - scope.liWidth * scope.index + "px"},500); }
}
}
}
})
</script>
</html>
一个简单的指令练习,主要实现的功能是点击事件,内容滚动。
点击左右的方框箭头,可以使内容滚动,或者点击中间的小长方形条,也可以使得内容滚动起来。
如下图是界面显示效果

对于指令中的作用域 “”=“”:表示与父scope中的属性进行双向数据绑定
对于指令中的作用域 “”&“”:表示与父scope中的函数进行传递,稍后进行调用
对于指令中的作用域 “”@“”:表示把当前属性作为字符串传递实现指令与html页面元素关联
angular指令的简单练习的更多相关文章
- angular指令浅谈
今天在闲暇时间再次对angularjs的指令进行了初探,不探不知道一探吓一跳啊, 就一个简单的指令整整难住我了两个小时,先不说代码的逻辑是否复杂,就一些内部的一些实现让我看起来都是头疼的不行啊,不过最 ...
- angular指令
转自:http://www.cnblogs.com/rohelm/p/4051437.html 对于指令,可以把它简单的理解成在特定DOM元素上运行的函数,指令可以扩展这个元素的功能. 首先来看个完整 ...
- Angular4 后台管理系统搭建(9) - 用自定义angular指令,实现在服务端验证
最近这段时间发现,北京这用angular4 或 angular2的公司很少.几乎是没有.很担心自己是不是把精力放到了不应该的地方.白耽误了时间.但是随着我对新版angular框架理解的加深.个人感觉a ...
- angular指令之complie和link不得不说的故事
angular指令比较晦涩难懂的就是complie和link字段了,什么时候该用complie?什么时候该用link?总是很难分别清楚.当理解了指令的真正编译原理的时候,就会发现这相当的简单. ng怎 ...
- angular指令深度学习篇
angular指令深度学习-过滤器 limitTo ... <body ng-app="app" > <div ng-controller="myCtr ...
- Angular指令渗透式理解
通过一段时间对angular指令的使用,理解了angular指令的意义,下面逐一介绍一下. ng-app:定义一个angualr模块,表示angular作用的范围,如下代码: ng-app在html标 ...
- 20155219--pwd指令的简单实现
pwd指令的简单实现 pwd命令作用 Linux中用** pwd **命令来查看"当前工作目录"的完整路径. 简单得说,每当你在终端进行操作时,你都会有一个当前工作目录. 在不太确 ...
- 【转】angular指令入坑
独立作用域和函数参数 通过使用本地作用域属性,你可以传递一个外部的函数参数(如定义在控制器$scope中的函数)到指令.这些使用&就可以完成.下面是一个例子,定义一个叫做add的本地作用域属性 ...
- Angular指令1
Angular的指令 也就是directive,其实就是一WebComponent,以前端的眼光来看,好象很复杂,但是以后端的眼光来看,还是非常简单的.其实就是一个中等水平的类. var myModu ...
随机推荐
- win10 UWP RSS阅读器
RSS简易信息聚合(也叫聚合内容)是一种RSS基于XML标准,在互联网上被广泛采用的内容包装和投递协议.RSS(Really Simple Syndication)是一种描述和同步网站内容的格式,是使 ...
- PyCharm 2017 官网 下载 安装 设置 配置 (主题 字体 字号) 使用 入门 教程
一.安装 Python 3.6 首先,要安装好 Python 3.6.如果你还没有安装,可以参考咪博士之前的教程 Python 3.6.3 官网 下载 安装 测试 入门教程 (windows) 二.官 ...
- [Python] Codecombat 攻略 Sarven 沙漠 (1-43关)截止至30关
首页:https://cn.codecombat.com/play语言:Python 第二界面:Sarven沙漠(43关)时间:4-11小时内容:算术运算,计数器,while循环,break(跳出循环 ...
- C 数组使用时注意点
数组注意点: 数组为静态时,初始化长度必为常量表达式 数组长度由最后一个元素决定其长度,可以指定特定元素,如: int arr[] = {0, 1, [5]=5, 6}; 没有提供初始值的元素赋值为0 ...
- Redis 学习笔记-5种数据类型的基本操作
1.string类型 基本操作列表: GET 获取指定键对应的值 SET 设定键值 DEL 删除指定键对应的值(对所有数据类型都有效) > set hello world OK > get ...
- 461. Hamming Distance(leetcode)
The Hamming distance between two integers is the number of positions at which the corresponding bits ...
- codeblocks无法编译的问题
(题外话:网上垃圾资源太多,良心推荐下载 codeblocks的码农们,别TM用DevC++,百度搜索100个不用devc++的理由加上我自己亲身经历!!!) https://jingyan.baid ...
- python核心编程一书笔记之第一篇
#!/usr/bin/env python# -*- coding:utf-8 -*- #env 是一个命令用来寻找系统中的python解释器.第二条解释使用utf-8编码 在类unix系统中允许py ...
- JavaScript数组去重方法汇总
1.运用数组的特性 1.遍历数组,也遍历辅助数组,找出两个数组中是否有相同的项,若有则break,没有的话就push进去. //第一版本数组去重 function unique(arr){ var r ...
- 用BroadcastReceiver监听手机网络状态变化
android--解决方案--用BroadcastReceiver监听手机网络状态变化 标签: android网络状态监听方案 2015-01-20 15:23 1294人阅读 评论(3) 收藏 举报 ...