Javascript 冲突脚本#选择器标记
我有两个脚本。一种是使用Javascript 冲突脚本#选择器标记,javascript,jquery,Javascript,Jquery,我有两个脚本。一种是使用#idname滚动到页面的特定部分,另一种是交换内容,也使用#idname 所有ID都是唯一的,它们位于不同的容器div中,但是当我单击交换内容时,也会触发滚动脚本 以下是两个相互冲突的脚本: 滚动脚本: (function ($) { var l = location.href.replace(/#.*/, ''); var g = $.localScroll = function (a) { $('body').localScr
#idname
滚动到页面的特定部分,另一种是交换内容,也使用#idname
所有ID都是唯一的,它们位于不同的容器div中,但是当我单击交换内容时,也会触发滚动脚本
以下是两个相互冲突的脚本:
滚动脚本:
(function ($) {
var l = location.href.replace(/#.*/, '');
var g = $.localScroll = function (a) {
$('body').localScroll(a)
};
g.defaults = {
duration: 1e3,
axis: 'y',
event: 'click',
stop: true,
target: window,
reset: true
};
g.hash = function (a) {
if (location.hash) {
a = $.extend({}, g.defaults, a);
a.hash = false;
if (a.reset) {
var e = a.duration;
delete a.duration;
$(a.target).scrollTo(0, a);
a.duration = e
}
i(0, location, a)
}
};
$.fn.localScroll = function (b) {
b = $.extend({}, g.defaults, b);
return b.lazy ? this.bind(b.event, function (a) {
var e = $([a.target, a.target.parentNode]).filter(d)[0];
if (e) i(a, e, b)
}) : this.find('a,area').filter(d).bind(b.event, function (a) {
i(a, this, b)
}).end().end();
function d() {
return !!this.href && !! this.hash && this.href.replace(this.hash, '') == l && (!b.filter || $(this).is(b.filter))
}
};
function i(a, e, b) {
var d = e.hash.slice(1),
f = document.getElementById(d) || document.getElementsByName(d)[0];
if (!f) return;
if (a) a.preventDefault();
var h = $(b.target);
if (b.lock && h.is(':animated') || b.onBefore && b.onBefore.call(b, a, f, h) === false) return;
if (b.stop) h.stop(true);
if (b.hash) {
var j = f.id == d ? 'id' : 'name',
k = $('<a> </a>').attr(j, d).css({
position: 'absolute',
top: $(window).scrollTop(),
left: $(window).scrollLeft()
});
f[j] = '';
$('body').prepend(k);
location = e.hash;
k.remove();
f[j] = d
}
h.scrollTo(f, b).trigger('notify.serialScroll', [f])
}
})(jQuery);
我需要对脚本2(内容淡入淡出)进行哪些更改,以使它们不会冲突?我似乎找到了一个解决方案,购买更改脚本
$(this).attr('href')).fadeIn();
到
您不应该使用只与一个页面相关的东西来扩展jQuery原型
$(this).attr('href')).fadeIn();
$(this).attr('name')).fadeIn();