AngularJS时间轴指令

是基于ion.rangeSlider.js,主要代码如下:

<link rel="stylesheet" type="text/css" href="/css/slider/normalize.css"/>
<link rel="stylesheet" type="text/css" href="/css/slider/ion.rangeSlider.css"/>
<link rel="stylesheet" type="text/css" href="/css/slider/ion.rangeSlider.skinModern.css"/>

<script type="text/javascript" src="/lib/angular.js"></script>
<script type="text/javascript" src="/lib/jquery-2.1.3.min.js"></script>
<script type="text/javascript" src="/lib/ion.rangeSlider.js"></script>
<script type="text/javascript" src="/lib/ng-underscore.js"></script>

<script>
    var rangeSliderApp = angular.module(‘rangeSliderApp‘,["ngUnderscore"]);

rangeSliderApp.directive(‘yearShaft‘, ["underscore",function(underscore){
        return{
            restrict: "A",
            scope: {
                years: "=",
                selectedyear:"="
            },
            link: function (scope,element) {

var years = underscore.sortBy(scope.years);
                var length = years.length;
                var max = years[length-1];
                var min = years[0];
                var initYears = function (years) {
                    if(years.length==1){
                        var year = new Date().getFullYear();
                        if(years[0] == year){
                            max = years[0];
                            min = years[0] - 1;
                            length = 2;
                        }else if(years[0] < year){
                            max = year;
                            min = years[0];
                            length = max - min +1;
                        }
                    }
                    return years;
                };
                initYears(scope.years);

$(element).ionRangeSlider({
                    hide_min_max: true,
                    prettify_enabled:false,
                    keyboard: true,
                    type:"single",
                    grid:true,
                    step:1,
                    grid_num:length - 1,
                    max:max,
                    min:min,
                    from_fixed:true,
                    from:scope.selectedyear
               });
           }
      }
}]);
</script>

时间: 2024-10-13 22:29:00

AngularJS时间轴指令的相关文章

angularjs时间轴

1.炫酷的图片是开端啊 2.前端html 代码 div class="container-fluid row"> <timelineaxis ng-show="paramId>0"> <timeaxis-item ng-repeat="item in items"> <a href="#/taxrm/edit/{{item.versionid}}" ng-class="{'a

带你走近AngularJS - 创建自定义指令

为什么使用AngularJS 指令? 使用过 AngularJS 的朋友应该最感兴趣的是它的指令.现今市场上的前端框架也只有AngularJS 拥有自定义指令的功能,并且AngularJS 是目前唯一提供Web应用可复用能力的框架. 目前有很多JavaScript 产品提供插件给Web开发人员.例如, Bootstrap 就是当前比较流行的提供样式和JavaScript插件的前端开发工具包.但是开发人员在使用Booostrap中的插件时, 必须切换到JavaScript 模式来写 jQuery

AngularJS 学习笔记 -- 指令(Directive)

AngularJS 指令学习笔记 AngularJS怎样处理指令其实是依赖于指令定义时返回的对象属性的,所以要想深入理解如何定义一个指令,首相需要理解指令定义时各个参数的含义. 完整的AngularJS指令参数 angular.module('app', []) .directive('demoDirective', function (){ // 依据官方规范,指令的定义时应该严格遵循驼峰式命名规则,使用时采用'-'连接单词 return { restrict : String in ['E'

AngularJS创建新指令

指令(Directives)是所有AngularJS应用最重要的部分.尽管AngularJS已经提供了非常丰富的指令,但还是经常需要创建应用特定的指令. AngularJS原有的指令 ng-init   初始化指令 ng-if   条件指定 ng-repeat   循环指令 下面为大家介绍下创建新指令的方法 加入html代码 <div ng-app="myapp"> <hello-world></hello-world> <div hello-

时间轴

在前端网看到个时间轴的效果,故简单模范了个. <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <title>Document</title> <style type="text/css"> body{margin: 50px;} .container{margin-left: 30%;l

jQuery时间轴插件:jQuery Timelinr

前言 这是一款可用于展示历史和计划的时间轴插件,尤其比较适合一些网站展示发展历程.大事件等场景.该插件基于jQuery,可以滑动切换.水平和垂直滚动.支持键盘方向键.经过扩展后可以支持鼠标滚轮事件. HTML 我们在body中建立一个div#timeline作为展示区,#dates为时间轴,示例中我们用年份作为主轴,#issues作为内容展示区,即展示对应主轴点年份的内容,注意id对应上. <div id="timeline"> <ul id="dates&

Android 时间轴

效果图: 数据是随便填的,显得有点乱,但是不影响效果.实现方面主要是用ListView来实现,主要是根据ListView的item位置与上一条数据进行比较,来控制时间的显示隐藏效果.思路很简单,下面看代码实现: 首先是页面的整体布局,很简单,就一个ListView: res/layout/activity_main.xml: <?xml version="1.0" encoding="utf-8"?> <LinearLayout xmlns:and

android 简易时间轴(实质是ListView)

ListView的应用 1.在很多时候是要用到时间轴的,有些处理的时间轴比较复杂,这里就给出一个比较简单的时间轴,其实就是ListView里面的Item的设计. 直接上代码: ListView,item的xml文件-->time_item.xml 1 <?xml version="1.0" encoding="utf-8"?> 2 <RelativeLayout xmlns:android="http://schemas.andro

Jquery实现的几款漂亮的时间轴

引言 最近项目中使用了很多前端的东西,对于我一个做后台开发的人员,这是一个很好的锻炼的机会.经过这段时间的学习,感觉前端的东西太多了,太强大了,做出来的东西太炫酷了.现在有很多开源的前端框架,做的都非常的漂亮,h5发展了这么多年了,改变了互联网行业啊!下面给大家介绍几款漂亮的时间轴,也许大家以后工作中会用到. 一.纵向折叠时间轴 1.js文件(jQuery.js或者jQuery.min.js) 2.CSS文件   3.HTML代码   4.运行效果: 二.纵向鼠标滑动时间轴 1.js文件(jqu