常用JS方法
常用JS方法
陈映亮 发表于3年前
常用JS方法
  • 发表于 3年前
  • 阅读 14
  • 收藏 0
  • 点赞 0
  • 评论 0

【腾讯云】买域名送云解析+SSL证书+建站!>>>   

/***** 固定定位使用方法 *****/
/*
* 代码示例:$('#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;//返回结果

}

// 倒计时功能结束


  • 打赏
  • 点赞
  • 收藏
  • 分享
共有 人打赏支持
粉丝 9
博文 130
码字总数 38454
×
陈映亮
如果觉得我的文章对您有用,请随意打赏。您的支持将鼓励我继续创作!
* 金额(元)
¥1 ¥5 ¥10 ¥20 其他金额
打赏人
留言
* 支付类型
微信扫码支付
打赏金额:
已支付成功
打赏金额: