Created
May 20, 2014 03:15
-
-
Save JingwenTian/f1eecf7ed01610e697a1 to your computer and use it in GitHub Desktop.
原生JS(导航的显示与隐藏)
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
/*NEW NAVIGATOR START*/ | |
function hasClass(ele,cls) { | |
return ele.className.match(new RegExp('(\\s|^)'+cls+'(\\s|$)')); | |
} | |
function addClass(ele,cls) { | |
if (!this.hasClass(ele,cls)) ele.className += " "+cls; | |
} | |
function removeClass(ele,cls) { | |
if (hasClass(ele,cls)) { | |
var reg = new RegExp('(\\s|^)'+cls+'(\\s|$)'); | |
ele.className=ele.className.replace(reg,''); | |
} | |
} | |
var iBase = { | |
Id: function(name){ | |
return document.getElementById(name); | |
}, | |
SetOpacity: function(ev, v){ | |
ev.filters ? ev.style.filter = 'alpha(opacity=' + v + ')' : ev.style.opacity = v / 100; | |
} | |
} | |
//淡入效果(含淡入到指定透明度) | |
function fadeIn(elem, speed, opacity){ | |
speed = speed || 20; | |
opacity = opacity || 100; | |
elem.style.display = 'block'; | |
iBase.SetOpacity(elem, 0); | |
var val = 0; | |
(function(){ | |
iBase.SetOpacity(elem, val); | |
val += 5; | |
if (val <= opacity) { | |
setTimeout(arguments.callee, speed) | |
} | |
})(); | |
} | |
//淡出效果(含淡出到指定透明度) | |
function fadeOut(elem, speed, opacity){ | |
speed = speed || 20; | |
opacity = opacity || 0; | |
var val = 100; | |
(function(){ | |
iBase.SetOpacity(elem, val); | |
val -= 5; | |
if (val >= opacity) { | |
setTimeout(arguments.callee, speed); | |
}else if (val < 0) { | |
elem.style.display = 'none'; | |
} | |
})(); | |
} | |
function showMenu(){ | |
if(hasClass(document.getElementById("menuBtn"), "click")){ | |
removeClass(document.getElementById("menuBtn"), "click"); | |
fadeOut(document.getElementById("popmenu")); | |
}else{ | |
addClass(document.getElementById("menuBtn"), "click"); | |
fadeIn(document.getElementById("popmenu")); | |
} | |
} |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment