-
Jquery 用id获取元素比class效率高很多,用find找到所有相同的元素,比直接用相连的方式效率高查看全部
-
this最好一开始用新对象代替,不然后面引用this时对象可能已经不是原来的那个了 items.each(function(){ var m=$(this); var itemTop=m.offset().top; if(top>itemTop-250){ currentId="#"+m.attr("id"); }else {return false;} });查看全部
-
1.定义getByClassName函数,让函数实现根据class name获取对象并返回 提示:先获取obj中的所有标签,赋值给elements,然后遍历elements,找到className相符的元素存入数组result,最后返回result 2.定义addClass函数,让函数实现给对象增加class 提示:首先要判断是否已经有名为cls的class,如果没有,添加即可 3.补充代码,给正确的menu下的a元素class赋值current 提示:此处要遍历menus,对menus中的每一个元素判断href属性值和currentId是否相符,并根据判断结果决定是移除名为current的class,还是增加名为current的class。查看全部
-
ETester包含多个版本的IE,可以方便的用来进行兼容性测试,获取下载或者更多信息可以访问:http://www.my-debugbar.com/wiki/IETester/HomePage查看全部
-
jQuery的offset()方法会返回一个对象,包含top和left属性。查看全部
-
mark查看全部
-
scroll([data],fn) 当用户滚动指定的元素时,发生scroll事件。 $(window).scroll(function(){...}) scrollTop([val]) 获取/设置匹配元素相对滚动条顶部的偏移。 offset() 获取匹配元素的相对偏移,返回对象包含两个整形属性:top和left,单位px。查看全部
-
解决IE6不兼容fixed属性的方法,在css中加入: /*ie6 hack*/ *html,*html body{ background-image:url(about:blank); background-attachment:fixed; }//解决闪跳 *html menu{ position:absolute; top:expression(((e=document.documentElement.scrollTop)?e:document.body.scrollTop)+100+'px'); }//解决IE6不支持fixed查看全部
-
运用css和jQuery,实现导航菜单在右侧绝对定位显示,并且可以在滚动时根据滚动条的位置自动设置导航菜单的焦点。查看全部
-
scroll查看全部
-
锚点(anchor)查看全部
-
没有做css,好丑查看全部
-
随手打了一发JS原生代码,你们拿去用吧,有bug自己调试啊。查看全部
-
/** * 自定义方法:根据class name 获取元素 * @param {Object} obj dom节点对象 * @param {Object} cls 指定样式的标签(class name ) */ function getByClassName(obj, cls){ var elements = obj.getElementsByTagName("*"); var result = []; for(var i=0; i<elements.length; i++){ if(elements[i].className == cls){ result.push(elements[i]); } } return result; } function hasClass(obj, cls){ return obj.className.match(new RegExp("(\\s|^)"+cls+"(\\s|$)")); } function removeClass(obj, cls){ if(hasClass(obj, cls)){ var reg = new RegExp("(\\s|^)"+cls+"(\\s|$)"); obj.className = obj.className.replace(reg,""); } } function addClass(obj, cls){ if( !hasClass(obj, cls)){ obj.className += " " +cls; } }查看全部
-
window.onload = function(){ window.onscroll = function(){ var top = document.documentElement ? document.documentElement.scrollTop : document.body.scrollTop; var menus = document.getElementById("menu").getElementsByTagName("a"); var items = getByClassName(document.getElementById("content"), "item"); var currentId = ""; for (var i =0; i<items.length; i++) { var _item = items[i]; var _itemTop = _item.offsetTop; if(top>_itemTop-200){ currentId = _item.id; }else{ break; } } if(currentId){ //给正确的menu下的a元素class赋值 for (var j=0; j<menus.length; j++) { var _menu = menus[j]; var _href = _menu.href.split("#");//将获得的href地址拆分成一个数组,其中数组最后一个元素就是#item if( _href[_href.length-1] !=currentId ){ removeClass(_menu, "current"); }else{ addClass(_menu, "current"); } } } } }查看全部
举报
0/150
提交
取消