几个不常用但很有用的javascript方法

29 篇文章 0 订阅
7 篇文章 0 订阅
1. javascript代码延迟执行。

我们经常可以看到这样的应用,鼠标放到tab上时切换tab内容为当前tab.但是这样就会有个问题,怎么样防止鼠标不经意划过tab时触发这个事件呢?答案就是延时。可以通过延迟触发来避免这种情况。但是javascript中没有这样的函数。

javascript提供了一个函数 setTimeout(),可以延迟一个操作的执行,但是这个操作最终还是要执行的。我们需要的是鼠标放在tab上超过0.5s才执行某个操作,否则什么都不发生。

幸好,javascript还提供了另外一个函数,叫做clearTimeout(),于是这个问题就解决了。

    var tabId;

    var timeoutId;

    //鼠标放上时

    function tabOnMouseOver(tabid)

    {

    tabId=tabid;

    //延时500毫秒

    timeoutId=setTimeout(changeTab,500);

    }

    //鼠标移开时清除定时器

    function tabOnMouseOut()

    {

    clearTimeout(timeoutId);

    tabId=0;

    }

2. 设置下拉列表的默认值。

通常的做法是用jsp标签在页面上判断当前默认应该选中哪个value.这样不但繁琐,程序的可读性也很差。这个工作完全交给javascript去做。

    // 设置下拉列表的默认值,用于设置表单初始值,表单加载结束时调用

    function setSelectDefaultValue(eleId,value)

    {

    var options=document.getElementById(eleId).options;

    for(i=0;i<options.length;i++)

    {

    if(options[i].value==value)

    {

    options[i].selected =true;

    }

    }

    }

这样,每次页面加载完之后调用这个方法set下拉列表的默认值就可以了。
3. 计算两个日期间隔。

这里要求日期的格式必须为"yyyy-MM-dd"格式。

    //检查日期间隔不能大于interval天

    function checkInterval(date1,date2,interval)

    {

    //将天数转为毫秒数

    iseconds = 1000 * 3600 * 24 * interval;

    date1=Date.parse(new Date(date1.replace(/-/g,"/")));

    date2=Date.parse(new Date(date2.replace(/-/g,"/")));

    if(date2-date1>iseconds)

    {

    alert("查询时间间隔不能超过" + interval + "天") ;

    return false;

    }

    if(date2-date1<0)

    {

    alert("请设置正确的查询间隔,开始时间不能晚于结束时间");

    return false;

    }

    return true

    }

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值