慕用9244143
2017-05-07 22:35
控制台没有报错,滚动就是没有效果
<script>
//根据类名获取元素
function getByClassName(obj,cls){
var ele=obj.getElementsByTagName('*');
var result=[];
for (var i=0;i<ele.length;i++){
if (ele[i].ClassName==cls)
{
result.push(ele[i]);
}
return result;
}
}
window.onload=function(){
var mem=document.getElementsByClassName('mem');
for (var i=0;i<mem.length;i++)
{
mem[i].onmouseover=function(){
this.style.border='2px solid #999';
}
mem[i].onmouseout=function(){
this.style.border='1px solid #c2c2c2';
}
}
var img=document.getElementsByTagName('img');
for (var i=0;i<img.length;i++)
{
img[i].onmouseover=function(){
this.style.opacity='0.8';
}
img[i].onmouseout=function(){
this.style.opacity='1';
}
}
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.replace(reg,"");
}
};
function addClass(obj,cls)
{
if (!hasClass(obj,cls))
{
obj.ClassName+= " "+cls;
}
}
window.onscroll=function(){
var top=document.documentElement?document.documentElement.scrollTop:document.body.scrollTop;
var menus=document.getElementById('menu').getElementsByTagName('a');
var pics=getByClassName(document.getElementById('pic'),'mem');
var currentId="";
for (var i=0;i<pics.length;i++)
{
var pic=pics[i];
var picTop=pic.offsetTop;
if (top>picTop-200)
{
currentId=pic.id;
}
else
{
break;
}
if (currentId)
{
for (var j=0;j<menus.length;j++)
{
var menu=menus[j];
var hre=menu.href.split('#');
if (hre[hre.length-1]!=currentId)
{
menu.removeClass(menu,"first");
}
else {menu.addClass(menu,"first");}
}
}
}
}
}
</script><body> <div id="menu"> <ul> <li><a href="#pic1" class="first">新加坡</a></li> <li><a href="#pic2">马来西亚</a></li> <li><a href="#pic3">三亚</a></li> <li><a href="#pic4">泰国</a></li> <li><a href="#pic5">台湾</a></li> </ul> </div> <div id="pic"> <h2>遥祝安好</h2> <div id="pic1" class="mem"> <h4>新加坡</h4> <br /> <ul> <li><a href="#"><img src="file:///D|/HTML文件/未命名站点 2/t0165425a5c9db4e230.jpg" /></a></li> <li><a href="#"><img src="file:///D|/HTML文件/未命名站点 2/t0165425a5c9db4e230.jpg" /></a></li> <li><a href="#"><img src="file:///D|/HTML文件/未命名站点 2/t0165425a5c9db4e230.jpg" /></a></li> <li><a href="#"><img src="file:///D|/HTML文件/未命名站点 2/t0165425a5c9db4e230.jpg" /></a></li> <li><a href="#"><img src="file:///D|/HTML文件/未命名站点 2/t0165425a5c9db4e230.jpg" /></a></li> <li><a href="#"><img src="file:///D|/HTML文件/未命名站点 2/t0165425a5c9db4e230.jpg" /></a></li> </ul> </div> <div id="pic2" class="mem"> <h4>马来西亚</h4> <br /> <ul> <li><a href="#"><img src="file:///D|/HTML文件/未命名站点 2/scenery1.jpg" /></a></li> <li><a href="#"><img src="file:///D|/HTML文件/未命名站点 2/scenery1.jpg" /></a></li> <li><a href="#"><img src="file:///D|/HTML文件/未命名站点 2/scenery1.jpg" /></a></li> <li><a href="#"><img src="file:///D|/HTML文件/未命名站点 2/scenery1.jpg" /></a></li> <li><a href="#"><img src="file:///D|/HTML文件/未命名站点 2/scenery1.jpg" /></a></li> <li><a href="#"><img src="file:///D|/HTML文件/未命名站点 2/scenery1.jpg" /></a></li> </ul> </div> <div id="pic3" class="mem"> <h4>三亚</h4> <br /> <ul> <li><a href="#"><img src="file:///D|/HTML文件/未命名站点 2/t01c1b4fa6a4fe8ea57.jpg" /></a></li> <li><a href="#"><img src="file:///D|/HTML文件/未命名站点 2/t01c1b4fa6a4fe8ea57.jpg" /></a></li> <li><a href="#"><img src="file:///D|/HTML文件/未命名站点 2/t01c1b4fa6a4fe8ea57.jpg" /></a></li> <li><a href="#"><img src="file:///D|/HTML文件/未命名站点 2/t01c1b4fa6a4fe8ea57.jpg" /></a></li> <li><a href="#"><img src="file:///D|/HTML文件/未命名站点 2/t01c1b4fa6a4fe8ea57.jpg" /></a></li> <li><a href="#"><img src="file:///D|/HTML文件/未命名站点 2/t01c1b4fa6a4fe8ea57.jpg" /></a></li> </ul> </div> <div id="pic4" class="mem"> <h4>泰国</h4> <br /> <ul> <li><a href="#"><img src="file:///D|/HTML文件/未命名站点 2/t01a0df86b676757198.jpg"/></a></li> <li><a href="#"><img src="file:///D|/HTML文件/未命名站点 2/t01a0df86b676757198.jpg"/></a></li> <li><a href="#"><img src="file:///D|/HTML文件/未命名站点 2/t01a0df86b676757198.jpg"/></a></li> <li><a href="#"><img src="file:///D|/HTML文件/未命名站点 2/t01a0df86b676757198.jpg"/></a></li> <li><a href="#"><img src="file:///D|/HTML文件/未命名站点 2/t01a0df86b676757198.jpg"/></a></li> <li><a href="#"><img src="file:///D|/HTML文件/未命名站点 2/t01a0df86b676757198.jpg"/></a></li> </ul> </div> <div id="pic5" class="mem"> <h4>台湾</h4> <br /> <ul> <li><a href="#"><img src="file:///D|/HTML文件/未命名站点 2/scenery2.jpg"/></a></li> <li><a href="#"><img src="file:///D|/HTML文件/未命名站点 2/scenery2.jpg"/></a></li> <li><a href="#"><img src="file:///D|/HTML文件/未命名站点 2/scenery2.jpg"/></a></li> <li><a href="#"><img src="file:///D|/HTML文件/未命名站点 2/scenery2.jpg"/></a></li> <li><a href="#"><img src="file:///D|/HTML文件/未命名站点 2/scenery2.jpg"/></a></li> <li><a href="#"><img src="file:///D|/HTML文件/未命名站点 2/scenery2.jpg"/></a></li> </ul> </div> </div> </body>
<script>
//根据类名获取元素
function getByClassName(obj,cls){
var ele=obj.getElementsByTagName('*');
var result=[];
for (var i=0;i<ele.length;i++){
if (ele[i].className==cls)
{
result.push(ele[i]);
}
// return result;
}
return result;
}
window.onload=function(){
var mem=document.getElementsByClassName('mem');
for (var i=0;i<mem.length;i++)
{
mem[i].onmouseover=function(){
this.style.border='2px solid #999';
}
mem[i].onmouseout=function(){
this.style.border='1px solid #c2c2c2';
}
}
var img=document.getElementsByTagName('img');
for (var i=0;i<img.length;i++)
{
img[i].onmouseover=function(){
this.style.opacity='0.8';
}
img[i].onmouseout=function(){
this.style.opacity='1';
}
}
function hasClass(obj,cls)
{
// return obj.ClassName.match(new RegExp("(\\s|^"+cls+"(\\s|$)"));
return obj.className.match(new RegExp("(\\s|^)"+cls+"(\\s|$)"));
}
function removeClass(obj,cls)
{
// if (hasClass(obj.cls))
if(hasClass(obj,cls))
{
// var reg=new RegExp("(\\s|^"+cls+"(\\s|$)");
var reg=new RegExp("(\\s|^)"+cls+"(\\s|$)");
// obj.ClassName=obj.replace(reg,"");
obj.className=obj.className.replace(obj.className.match(reg)[0],"");
}
};
function addClass(obj,cls)
{
if (!hasClass(obj,cls))
{
// obj.ClassName+= " "+cls;
obj.className+= " "+cls;
}
}
window.onscroll=function(){
var top=document.documentElement.scrollTop?document.documentElement.scrollTop:document.body.scrollTop;
var menus=document.getElementById('menu').getElementsByTagName('a');
var pics=getByClassName(document.getElementById('pic'),'mem');
var currentId="";
for (var i=0;i<pics.length;i++)
{
var pic=pics[i];
var picTop=pic.offsetTop;
if (top>picTop-200)
{
// currentId=pic.id;
currentId="#"+pic.getAttribute("id");
}
else
{
// break;
return ;
}
if (currentId)
{
for (var j=0;j<menus.length;j++)
{
var menu=menus[j];
// var hre=menu.href.split('#');
var hre=menu.getAttribute("href");
// if (hre[hre.length-1]!=currentId)
if(hre!=currentId)
{
// menu.removeClass(menu,"first");
removeClass(menu,"first");
}
else {// menu.addClass(menu,"first");
addClass(menu,"first");
}
}
}
}
}
}
</script>网页定位导航特效
71391 学习 · 504 问题
相似问题