Javascript JQuery';当我重新加载页面时,s操作转到开始

Javascript JQuery';当我重新加载页面时,s操作转到开始,javascript,jquery,css,Javascript,Jquery,Css,我想为我的菜单制作一个滑块。它应该位于实际活动菜单项之上。 我不能用代码笔来表达我的问题。但我可以显示我的jquery: 我从codepen那里得到了这个密码 $(“ul li”)。单击(功能(e){ //确保我们无法单击滑块 if($(this).hasClass('slider')){ 返回; } /*添加滑块移动*/ //按下了什么标签 var whatTab=$(this.index(); //计算滑块需要走多远 var howFar=160*whatTab; $(“.slider”

我想为我的菜单制作一个滑块。它应该位于实际活动菜单项之上。 我不能用代码笔来表达我的问题。但我可以显示我的jquery:

我从codepen那里得到了这个密码

$(“ul li”)。单击(功能(e){
//确保我们无法单击滑块
if($(this).hasClass('slider')){
返回;
}
/*添加滑块移动*/
//按下了什么标签
var whatTab=$(this.index();
//计算滑块需要走多远
var howFar=160*whatTab;
$(“.slider”).css({
左:多远+“像素”
});
/*增加涟漪*/
//去掉旧的
$(“.ripple”).remove();
//设置
var posX=$(this).offset().left,
posY=$(this).offset().top,
buttonWidth=$(this).width(),
buttonHeight=$(此).height();
//添加元素
$(此)。前缀(“”);
//绕过去!
如果(按钮宽度>=按钮宽度){
按钮宽度=按钮宽度;
}否则{
按钮宽度=按钮宽度;
}
//获取元素的中心
var x=e.pageX-posX-按钮宽度/2;
变量y=e.pageY-posY-buttonHeight/2;
//添加涟漪CSS并启动动画
$(“.ripple”).css({
宽度:按钮宽度,
身高:钮扣高度,
顶部:y+‘px’,
左:x+‘px’
}).addClass(“rippleEffect”);
});
@导入url(https://fonts.googleapis.com/css?family=Lato:100,300,400,700);
* {
框大小:边框框;
}
身体{
字体系列:“Lato”,无衬线;
背景:#222;
}
保险商实验室{
字号:0;
位置:相对位置;
填充:0;
宽度:480px;
利润率:40px自动;
用户选择:无;
}
李{
显示:内联块;
宽度:160px;
高度:60px;
背景:#中交39号;;
字体大小:16px;
文本对齐:居中;
线高:60px;
颜色:#fff;
文本转换:大写;
位置:相对位置;
溢出:隐藏;
光标:指针;
}
.滑块{
显示:块;
位置:绝对位置;
底部:0;
左:0;
高度:4px;
背景:黄色;
过渡:均为0.5s;
}
/*涟漪*/
.涟漪{
宽度:0;
身高:0;
边界半径:50%;
背景:rgba(255,255,255,0.4);
变换:比例(0);
位置:绝对位置;
不透明度:1;
}
.涟漪效应{
动画:rippleDrop.6s线性;
}
@关键帧rippleDrop{
100% {
变换:尺度(2);
不透明度:0;
}
}

  • 项目一
  • 项目二
  • 项目三

创建一个函数,并在其中传递活动的li以定位滑块,当您单击以下列表时调用相同的函数:

$(函数(){
功能菜单更改(ths){
//确保我们无法单击滑块
/*if($(this).hasClass('slider')){
返回;
}*/
/*添加滑块移动*/
//按下了什么标签
var whatTab=$(ths).index();
//计算滑块需要走多远
var howFar=100*whatTab;
/*$(“.slider”).css({
左:多远+“像素”
});*/
if($(“.sf主菜单li”).hasClass(“活动轨迹”)){
$(“.slider”).css({
左:多远+“像素”
});
}
}
$(“.sf主菜单li”)。单击(函数(){
menuChange(本);
});
菜单更改($(“.sf主菜单li.activetrail”);
$('a')。在('click',函数(e)上{
e、 预防默认值();
});
});
滑块{
边框顶部:3倍纯绿;
高度:10px;
宽度:100px;
不透明度:.8;
显示:内联块;
左:50px;
过渡:均为0.5s;
位置:绝对位置;
}
.sf主菜单li{
位置:相对位置;
}
.sf菜单。激活{
颜色:绿色;
}
.sf菜单李{
列表样式类型:无;
宽度:100px;
浮动:左;
填充顶部:10px;
}
.sf菜单a{
填充:0.5em;
}


您需要将活动类传递到下一页的选项卡您需要删除代码
$('a')。on('click',function(e){e.preventDefault();})它只是为了测试。哦,是的!令人惊叹的!非常感谢。其实它并不完美。不知何故,当我单击和下载新页面时,滑块会移动两次。注释代码
$(“.sf主菜单li”)。单击(函数(){menuChange(this);})并尝试。