积累的一些代码片段/小知识

★jQuery1.7.2下操作object元素报错

jQuery1.7.2下,用$选择器操作object元素会报错:代码如下:

$('object').hide();

换用原生js就没事了:

document.getElementsByTagName('object')[0].style.display = 'none';

 

★关闭按钮小叉的字体

做一个简单的关闭按钮时,我们经常用字母X来实现,为了让它看上去更像一个叉,可设置字体为:

font-family: “Microsoft JhengHei”,”microsoft yahei”,Monaco,Menlo,Consolas,”Courier New”,monospace;

 

★this 的值是在函数运行时确定的

复制代码
<button id="btn1">button1</button>
<button id="btn2">button2</button>
var obj = {
    init : function(){
        $('#btn1').click(this.alert);
    },
    init2 : function(){
        var _this = this;
        $('#btn2').click(function(){
            _this.alert();
        });
    },
    alert : function(){
        alert(this);
    }
}
         
obj.init();
obj.init2();
复制代码

 

★使用正则实现数字千分位分割

不带小数点的:

"15000000".split("").reverse().join("").replace(/(\d{3})/g, "$1,").split("").reverse().join("");

带小数点的:

'123123211312.333123'.replace(/(?=(?!^)(?:\d{3})+(?:\.|$))(\d{3}(\.\d+$)?)/g,',$1');

 

★背景半透明,内容不透明的写法

<div><p>不透明</p></div>
div{background:rgba(0,0,0,0.2) none repeat scroll !important; /*实现FF背景透明,文字不透明*/
background:#000; filter:Alpha(opacity=20);/*实现IE背景透明*/
width:500px; height:500px; color:#F30; font-size:32px; font-weight:bold;}
div p{ position:relative;}/*实现IE文字不透明*/

火狐我们直接用rgba颜色就可以解决子标签跟着半透明的问题了,但是ie还不是能很好的支持。

所以我们给不想被透明的标签设置一个定位属性,问题接能解决了。

 

★为div元素触发keydown事件

div元素无法触发keydown的原因是图无法被focus,处理的方式是给div加上属性tabindex就可以了。tabindex的取值为整数,表示按tab键的时候元素获得焦点的顺序。当取值为-1时,按tab无法获得焦点,但可以用js代码来focus和blur,同时,还是可以触发keydown事件的。

所以要让div能触发keydown事件,只需如下代码:

<div tabindex="-1">hello world !</div>

加此属性后div会有高亮外框出现,加outline:none;可解决。

 

★查询url中的参数

function getParameterByName(name) {
    var match = RegExp('[?&]' + name + '=([^&]*)')
                    .exec(window.location.search);
    return match && decodeURIComponent(match[1].replace(/\+/g, ' '));
}

 

★移动端,绑定了click事件的元素在点击时会出现亮框,下面的代码可以去掉:

-webkit-tap-highlight-color:rgba(0,0,0,0);
-webkit-tap-highlight-color: transparent; /* For some Androids */

 

posted @   吕大豹  阅读(822)  评论(1编辑  收藏  举报
编辑推荐:
· 如何编写易于单元测试的代码
· 10年+ .NET Coder 心语,封装的思维:从隐藏、稳定开始理解其本质意义
· .NET Core 中如何实现缓存的预热?
· 从 HTTP 原因短语缺失研究 HTTP/2 和 HTTP/3 的设计差异
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
阅读排行:
· 周边上新:园子的第一款马克杯温暖上架
· Open-Sora 2.0 重磅开源!
· .NET周刊【3月第1期 2025-03-02】
· 分享 3 个 .NET 开源的文件压缩处理库,助力快速实现文件压缩解压功能!
· [AI/GPT/综述] AI Agent的设计模式综述
点击右上角即可分享
微信分享提示