SmoothScoll 和 lightbox 冲突
SmoothScoll and lightbox conflict
我已经 this website,Smoothscroll javascript 和 lightbox one 之间存在冲突。
这是卷轴的脚本
$(function() {
$('a[href*="#"]:not([href="#"])').click(function() {
if (location.pathname.replace(/^\//,'') == this.pathname.replace(/^\//,'') && location.hostname == this.hostname) {
var target = $(this.hash);
target = target.length ? target : $('[name=' + this.hash.slice(1) +']');
if (target.length) {
$('html, body').animate({
scrollTop: target.offset().top
}, 1000);
return false;
}
}
});
});
我该如何解决?如何使灯箱和平滑滚动同时工作?
我不是 jQuery 专家,不知道选择器有多灵活,但这里有一些建议:
建议 1:
我不认为这个选择器:
a[href*="#"]:not([href="#"])
将正常工作。如果 href 元素没有属性值“#”,则您选择了所有这些元素。我认为这种情况不会像您所拥有的那样涵盖具有不同价值的链接:“#queen-bee”。我认为你使用不同的选择器。
建议2:
if (target.length) {
$('html, body').animate({
scrollTop: target.offset().top
}, 1000);
return false; // Try removing the return
}
return 语句可以防止事件冒泡,因此灯箱不会收到它。尝试删除它。
我已经 this website,Smoothscroll javascript 和 lightbox one 之间存在冲突。
这是卷轴的脚本
$(function() {
$('a[href*="#"]:not([href="#"])').click(function() {
if (location.pathname.replace(/^\//,'') == this.pathname.replace(/^\//,'') && location.hostname == this.hostname) {
var target = $(this.hash);
target = target.length ? target : $('[name=' + this.hash.slice(1) +']');
if (target.length) {
$('html, body').animate({
scrollTop: target.offset().top
}, 1000);
return false;
}
}
});
});
我该如何解决?如何使灯箱和平滑滚动同时工作?
我不是 jQuery 专家,不知道选择器有多灵活,但这里有一些建议:
建议 1:
我不认为这个选择器:
a[href*="#"]:not([href="#"])
将正常工作。如果 href 元素没有属性值“#”,则您选择了所有这些元素。我认为这种情况不会像您所拥有的那样涵盖具有不同价值的链接:“#queen-bee”。我认为你使用不同的选择器。
建议2:
if (target.length) {
$('html, body').animate({
scrollTop: target.offset().top
}, 1000);
return false; // Try removing the return
}
return 语句可以防止事件冒泡,因此灯箱不会收到它。尝试删除它。