JS實現(xiàn)一個按鈕的方法
更新時間:2015年02月05日 16:11:59 作者:magicfly9527
這篇文章主要介紹了JS實現(xiàn)一個按鈕的方法,實例分析了使用js實現(xiàn)一個按鈕的功能與相關(guān)技巧,需要的朋友可以參考下
本文實例講述了JS實現(xiàn)一個按鈕的方法。分享給大家供大家參考。具體實現(xiàn)方法如下:
<!doctype html>
<html>
<head>
<meta charset="utf-8">
<meta http-equiv="X-UA-Compatible" content="edge">
<script>
window.onload = function(){
var btn = new Btn();
btn.init({width:300});
bindEvent(btn,'show',function(){
alert(1);
})
bindEvent(btn,'click',function(){
alert(2);
})
var oBtn = document.getElementById('btn');
oBtn.onclick = function (){
fireEvent(btn,'show');
}
}
function Btn(){
this.btn= null;
this.settings = {
width:200,
height:40,
borderRadius:6,
text :'按鈕'
};
}
Btn.prototype.init = function (opt){
extend(this.settings,opt);
this.creat();
}
Btn.prototype.creat = function (){
this.btn =document.createElement('div');
document.body.appendChild(this.btn);
this.btn.innerHTML = this.settings.text;
this.setData();
}
Btn.prototype.destory = function (){
document.body.removeChild(this.btn);
}
Btn.prototype.setData = function (){
this.btn.style.width = this.settings.width +'px';
this.btn.style.height = this.settings.height +'px';
this.btn.style.border ='solid #f00 '+ this.settings.borderRadius +'px';
}
function extend(obj1,obj2){
for(var attr in obj2){
obj1[attr] = obj2[attr];
}
}
function bindEvent(obj,events,fn){
obj.listeners = obj.listeners || {};
obj.listeners[events] = obj.listeners[events] || [];
obj.listeners[events].push( fn );
if(obj.nodeType){
if(obj.addEventListener){
obj.addEventListener(events,fn,false);
}else{
obj.attachEvent('on'+events,fn);
}
}
}
function fireEvent (obj,events){
if(obj.listeners[events]){
for(var i in obj.listeners[events]){
obj.listeners[events][i]();
}
}
}
</script>
</head>
<body>
<a id="btn" style="margin-top: 40px;" >12</a>
</body>
</html>
希望本文所述對大家的javascript程序設(shè)計有所幫助。
相關(guān)文章
JavaScript定時器setTimeout()和setInterval()詳解
這篇文章主要為大家詳細介紹了JavaScript定時器setTimeout()和setInterval()的相關(guān)資料,具有一定的參考價值,感興趣的小伙伴們可以參考一下2017-08-08
JavaScript實現(xiàn)數(shù)字前補“0”的五種方法示例
這篇文章主要介紹了JavaScript實現(xiàn)數(shù)字前補“0”的五種方法,結(jié)合具體實例形式分析了javascript數(shù)字前補0的相關(guān)操作技巧,涉及javascript字符串遍歷、迭代、截取、構(gòu)造等操作,需要的朋友可以參考下2019-01-01
JS實現(xiàn)仿雅虎首頁快捷登錄入口及導(dǎo)航模塊效果
這篇文章主要介紹了JS實現(xiàn)仿雅虎首頁快捷登錄入口及導(dǎo)航模塊效果,涉及JavaScript響應(yīng)鼠標(biāo)事件遍歷頁面元素的實現(xiàn)技巧,具有一定參考借鑒價值,需要的朋友可以參考下2015-09-09
javascript實現(xiàn)鼠標(biāo)點擊生成文字特效
這篇文章主要為大家詳細介紹了javascript實現(xiàn)鼠標(biāo)點擊生成文字特效,文中示例代碼介紹的非常詳細,具有一定的參考價值,感興趣的小伙伴們可以參考一下2019-12-12

