我有这个navmenu,其锚点与一个jquery片段相关联,该片段可以加载并动画内容。 (参见演示:http://d2o0t5hpnwv4c1.cloudfront.net/011_jQuerySite/sample/index.html)
现在,在某些导航器的锚点上,我希望这个插件不会触发(因为我希望能够将一些navmenu的锚点严格地与ScrollTo插件相关联)。
我的问题是,我可以添加什么:
$(document).ready(function() {
var hash = window.location.hash.substr(1);
var href = $('#nav li a').each(function(){
var href = $(this).attr('href');
if(hash==href.substr(0,href.length-4)){
var toLoad = hash+'.php #content';
$('#content').load(toLoad)
}
});
$('#nav li a').click(function(){
var toLoad = $(this).attr('href')+' #content';
$('#content').hide(888,loadContent);
$('#load').remove();
$('#wrapper').append('<span id="load">LOADING...</span>');
$('#load').fadeIn(888);
window.location.hash = $(this).attr('href').substr(0,$(this).attr('href').length-4);
function loadContent() {
$('#content').load(toLoad,'',showNewContent())
}
function showNewContent() {
$('#content').show(888,hideLoader());
}
function hideLoader() {
$('#load').fadeOut(888);
}
return false;
});
});
...所以只要锚具有与之关联的class =“scroll”,它就不会触发所有上述内容?
答案 0 :(得分:0)
您可以使用.not(selector)
$(document).ready(function() {
var hash = window.location.hash.substr(1);
var href = $('#nav li a').not('.scroll').each(function(){
var href = $(this).attr('href');
if(hash==href.substr(0,href.length-4)){
var toLoad = hash+'.php #content';
$('#content').load(toLoad)
}
});
$('#nav li a').not('.scroll').click(function(){
var toLoad = $(this).attr('href')+' #content';
$('#content').hide(888,loadContent);
$('#load').remove();
$('#wrapper').append('<span id="load">LOADING...</span>');
$('#load').fadeIn(888);
window.location.hash = $(this).attr('href').substr(0,$(this).attr('href').length-4);
function loadContent() {
$('#content').load(toLoad,'',showNewContent())
}
function showNewContent() {
$('#content').show(888,hideLoader());
}
function hideLoader() {
$('#load').fadeOut(888);
}
return false;
});
});