加载完后执行JS方法menuFix
menuFix方法,先找到Id为nav的,然后找到里面的所以li标签
li标签集合循环
保定各种鼠标事件onmouseover,onMouseDown,onMouseUp,onmouseout
事件意思(就是英文单词的意思)里面执行的都是更换li标签的class样式
ID为nav下的所有li子标签里鼠标移开时class为原来的class名字加sfhover,如果原来有则中间加个空格!其他依次类推!页面加载的时候调用次函数! 这样写估计你就看懂了
var str = this.className;
if(str.length>0){
str = str + " " + "sfhover"
}else {
str = "sfhover"
}
你程序里面那是个三元表达式和上面的意思一样
第二个是正则表达式所有的className必须以sfhover开头\b是啥意思忘了去查下就知道了
总结一下:
第一句:判断原来是否有className,没有的话添加一个sfhover,有的话就追加一个sfhover到className当中去,与之前的className中间会使用 "空格" 来分隔。
第二句:替换当前的className,将sfhover使用""来替换,即清除sfhover。