文档章节

常用JS方法

陈映亮
 陈映亮
发布于 2015/03/24 09:48
字数 942
阅读 14
收藏 0
/***** 固定定位使用方法 *****/
/*
* 代码示例:$('#houdun').hd_fixed({'left':'10px','bottom':'20px'});
* 以上代码会将#houdun这个元素定位到可视区域距离左边10px,距离下边20px的位置。兼容ie6等低版本ie浏览器
*/

/***** 抽取随机数的方法 *****/
/*
* 本方法可以实现抽取任意两个数之间的随机小数或随机整数的效果。
* 代码示例:
* 1、 hd_random(23,66);
* 上面这段代码抽取的是23至66之间的随机小数(取不到23和66)
* 2、hd_random(23,66,true);
* 上面这段代码抽取的是23至66之间的随机整数(能取到23和66)
*/
/***** 抽取随机数的方法 *****/


/***** 计算倒计时的方法 *****/
/*
* 代码示例:
* 1、hd_countdown(2016,10,1,6,12,50);
* 以上代码是获得当前时间与2016年10月1日6时12分50秒的时间间隔
* 2、hd_countdown(1399316708);
* 以上代码传入的是以毫秒表示的utc时间戳,该时间戳表示1970年1月1日0时0分0秒这个参考点往后1399316708秒的时间。因为php给前台返回的时间一般是以这种时间戳的格式。
*/




/******************** 处理固定定位效果 ********************/
;(function($){ 
    $.extend($.fn,{ 

        hd_fixed : function(position){ 
            if(state = 'fixed'){//如果是一直固定状态
                var _this = $(this);
                // 如果是ie6
                if(!-[1,]&&!window.XMLHttpRequest){
                    // alert($(this).attr('src'))
                    $('body').append($(this));//将对象插入到body中
                    $(this).css('position','absolute');//给元素加固定定位,相对于body进行定位

                    hd_fixed_postion($(this),position);
                    $(window).scroll(function(){
                        hd_fixed_postion(_this,position);
                    })
                }else{
                    $(this).css('position','fixed');//让元素固定定位
                    for(x in position){
                        $(this).css(x,position[x]);
                    }
                }
                
            }
            return $(this);
        } 

    }) 
})(jQuery); 

// 固定定位用到的函数
function hd_fixed_postion(obj,position){
    // alert(obj.attr('src')
            var window_height = $(window).height();//获得页面总高度
            var obj_height = obj.outerHeight();//获得定位元素的高度
            var scroll_top = $(document).scrollTop();//获得已滚动上去的高度
                    var l,r,t,b;
                    // for in遍历开始
                    for(x in position){//遍历位置信息对象,将位置设置给obj对象
                        switch(x){
                            case 'left':
                                l = position[x];
                                break;
                            case 'right':
                                r = position[x];
                                break;
                            case 'top':
                                t = scroll_top + parseInt(position[x]);
                                break;
                            case 'bottom':
                                b = window_height + scroll_top - obj_height - parseInt(position[x]);
                                break;
                        }
                    }
                    // for in遍历结束
                    if(l){
                        obj.css('left',l);
                    }
                    if(r){
                        obj.css('right',r);
                    }
                    if(b){
                        obj.css('top',b);
                    }
                    if(t){
                        obj.css('top',t);
                    }
        }
//固定定位用到的函数结束
/******************** 处理固定定位效果结束 ********************/


// 抽取随机数的函数
function hd_random(start,end,integer){
    if(integer){//生成随机整数
        var random = Math.floor(Math.random()*(end+1-start)+start)
    }else{//生成随机小数
        var random = Math.random()*(end-start)+start;
    }
    return random; 
}
// 抽取随机数的函数结束


/***** 计算倒计时的方法 *****/
/*
* 代码示例:
* 1、hd_countdown(2016,10,1,6,12,50);
* 以上代码是获得当前时间与2016年10月1日6时12分50秒的时间间隔
* 2、hd_countdown(1399316708);
* 以上代码传入的是以毫秒表示的utc时间戳,该时间戳表示1970年1月1日0时0分0秒这个参考点往后1399316708秒的时间。因为php给前台返回的时间一般是以这种时间戳的格式。
*/

// 倒计时功能
function hd_countdown(year,month,day,hour,minute,second){

        var start_time = new Date();//创建现在时间


        if(arguments.length == 6){//如果传入6个参数,就是传入的年月日时分秒
            var end_time = new Date(year,month-1,day,hour,minute,second);//创建未来时间
            var diff = end_time.getTime() - start_time.getTime();//获得两个时间的时间差
        }else if(arguments.length == 1){//如果只传入1个参数,就是传入的时间戳
            var diff = year*1000 - start_time.getTime();//获得两个时间的时间差
        }
        
        
        var result = new Object();//创建用来记录结果的对象

        result.days= parseInt(diff/(24*60*60*1000));//计算剩余天数
        diff = diff%(24*60*60*1000);//计算还剩多少毫秒
        result.hours = parseInt(diff/(60*60*1000));//计算剩余小时
        diff = diff%(60*60*1000);
        result.minutes = parseInt(diff/(60*1000));//计算还剩多少分钟
        diff = diff%(60*1000);
        result.seconds = parseInt(diff/1000);//计算还剩多少秒

        return result;//返回结果

}

// 倒计时功能结束


© 著作权归作者所有

共有 人打赏支持
上一篇: PHP生成二维码
下一篇: 获得锚点
陈映亮
粉丝 10
博文 130
码字总数 38454
作品 0
深圳
程序员
私信 提问
JavaScript的基本使用

一、JavaScript的简单介绍   JavaScript是一种属于网络的脚本语言(简称JS),已经被广泛用于Web应用开发,常用来为网页添加各式各样的动态功能,为用户提供更流畅美观的浏览效果。通常JavaS...

码农47
2018/03/15
0
0
WebView深度学习(一)之WebView的基本使用以及Android和js的交互

前言:随着市场需求的不断变化,原生安卓已经无法满足客户的需要了,现在很多app都在使用Android和h5的交互实现某些功能,比如商品详情页,文章详情页面,商品点评页面,还有某些复杂的展示页...

aweiloveandroid
2017/07/01
0
0
JavaScript的简单复习

JavaScript的简单复习 JS的两种加载方式: 1.内部加载 内部加载,写在<script>标签内部 2.外部加载 写在<script>的src目录中,使用外部加载js文件的时候,js解析引擎不解析script标签体中的代码...

Lunqi
2015/08/07
0
0
在网页中JS函数自动执行常用三种方法

在网页中JS函数自动执行常用三种方法   在HTML中的Head区域中,有如下函数: <SCRIPT LANGUAGE="JavaScript">   functionn MyAutoRun()   {    //以下是您的函数的代码,请自行修改...

柠檬酷
2015/07/24
0
2
Objective-C与JavaScript的交互

UIWebView是iOS最常用的SDK之一,它有一个stringByEvaluatingJavaScriptFromString方法可以将 javascript嵌入页面中,通过这个方法我们可以在iOS中与UIWebView中的网页元素交互。 UIWebView是...

长平狐
2013/03/19
97
0

没有更多内容

加载失败,请刷新页面

加载更多

Docker的系统资源限制及验证

1 、限制容器的资源 默认情况下, 容器没有资源限制 ,可以使用主机内核调度程序允许的尽可能多的给定资源。 Docker 提供了控制容器可以 使用多少内存或 CPU 的方法 ,设置 docker run 命令的...

微笑向暖wx
13分钟前
1
0
Redis5.0之Stream案例应用解读

非常高兴有机会和大家在这里交流Redis5.0之Stream应用。今天的分享更多的是一个抛砖引玉,欢迎大家提出更多关于Redis的思考。 首先,我们来个假设,这里有个杯子,这个杯子是去年我老婆送的,...

中间件小哥
14分钟前
1
0
阿里开发者们的第20个感悟:好的工程师为人写代码,而不仅是为编译器

1月17日,好的工程师为人写代码,而不仅是为编译器。这是我们送给开发者的第20个感悟。 李响,作为开源项目etcd作者更为开发者所熟知。etcd是2013年由李响,Brandon Philips, Alex Polvi 所发...

阿里云官方博客
15分钟前
1
0
Linux vmstat命令详解

导读 Linux命令千千万,而我们在日常工作中真真切切用到的命令应该不超过50个,在接下来的日子里,我会对我经常使用的命令,以及使用过程中不熟悉的命令进行一个总结,一是自我总结,加深记忆...

问题终结者
15分钟前
1
0
MacOS Docker安装及使用

MacOS Docker 安装 Homebrew 安装 macOS 我们可以使用 Homebrew 来安装 Docker。 Homebrew 的 Cask 已经支持 Docker for Mac,因此可以很方便的使用 Homebrew Cask 来进行安装: # 安装命令...

火力全開
16分钟前
1
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部