jquerylocalscroll和hashtags
我使用的是localscroll jquery插件,当有人在url末尾输入url时,我希望有一个安全选项,因此我编写了以下代码行:jquerylocalscroll和hashtags,jquery,Jquery,我使用的是localscroll jquery插件,当有人在url末尾输入url时,我希望有一个安全选项,因此我编写了以下代码行: if (window.location.hash == "#home") { $('#menu-main a').removeClass('sel'); $("#a1").addClass("sel"); $('#about,#collections,#contact,#brides,#gallery').anim
if (window.location.hash == "#home") {
$('#menu-main a').removeClass('sel');
$("#a1").addClass("sel");
$('#about,#collections,#contact,#brides,#gallery').animate({ opacity: 0 }, 0);
} else if (window.location.hash == "#about") {
$('#menu-main a').removeClass('sel');
$("#a2").addClass("sel");
$('#home,#collections,#contact,#brides,#gallery').animate({ opacity: 0 }, 0);
} else if (window.location.hash == "#collections") {
$('#menu-main a').removeClass('sel');
$("#a3").addClass("sel");
$('#about, #home, #contact, #brides, #gallery').animate({ opacity: 0 }, 0);
} else if (window.location.hash == "#brides") {
$('#menu-main a').removeClass('sel');
$("#a4").addClass("sel");
$('#about, #collections, #contact, #home, #gallery').animate({ opacity: 0 }, 0);
} else if (window.location.hash == "#gallery") {
$('#menu-main a').removeClass('sel');
$("#a5").addClass("sel");
$('#about, #collections, #home, #contact, #brides').animate({ opacity: 0 }, 0);
} else if (window.location.hash == "#contact") {
$('#menu-main a').removeClass('sel');
$("#a6").addClass("sel");
$('#about, #collections, #home, #brides, #gallery').animate({ opacity: 0 }, 0);
} else if (window.location.hash == "") {
$('#menu-main a').removeClass('sel');
$("#a1").addClass("sel");
$('#about,#collections,#contact,#brides,#gallery').animate({ opacity: 0 }, 0);
}
但是,肯定有更好的解决方案,可能有一些foreach函数,因为我不是jquery专家,我想征求您的意见
谢谢,玛特
function makeSelect(){
var hash = window.location.hash;
$("#menu-main a").removeClass('sel');
$("#"+hash).addClass("sel");
$('#about,#collections,#contact,#brides,#gallery').animate({ opacity: 0 }, 0);
}
如果可以将对象名称更改为哈希值,或者为它们创建哈希映射,则可以使用类似的方法
如果您可以将对象名称更改为散列值,或者为它们创建散列映射,则可以使用类似的方法。如果有人对我的解决方案感兴趣,请执行以下操作:
var hash = window.location.hash;
var cats = {};
cats['#home'] = 'a1';
cats['#about'] = 'a2';
cats['#collections'] = 'a3';
cats['#brides'] = 'a4';
cats['#gallery'] = 'a5';
cats['#contact'] = 'a6';
cats[''] = 'a1';
$("#menu-main a").removeClass('sel');
$("#" + cats[hash]).addClass("sel");
if (!hash){
$('#about,#collections,#contact,#brides,#gallery').animate({ opacity: 0 }, 0);
} else {
$.each(cats, function(key, value) {
if (key != hash){
$(key).animate({ opacity: 0 }, 0);
}
});
}
我解决了它,如果有人对我的解决方案感兴趣:
var hash = window.location.hash;
var cats = {};
cats['#home'] = 'a1';
cats['#about'] = 'a2';
cats['#collections'] = 'a3';
cats['#brides'] = 'a4';
cats['#gallery'] = 'a5';
cats['#contact'] = 'a6';
cats[''] = 'a1';
$("#menu-main a").removeClass('sel');
$("#" + cats[hash]).addClass("sel");
if (!hash){
$('#about,#collections,#contact,#brides,#gallery').animate({ opacity: 0 }, 0);
} else {
$.each(cats, function(key, value) {
if (key != hash){
$(key).animate({ opacity: 0 }, 0);
}
});
}