Javascript 使用jquery';这';压缩代码
我尽量不提问题,但我不知道什么应该很容易。我正在为practice briannabaldwinphotography.com建立一个网站。我只是想压缩它,这样我就可以点击一个锚,它会平滑地滚动到一个id与锚同名的Javascript 使用jquery';这';压缩代码,javascript,jquery,html,Javascript,Jquery,Html,我尽量不提问题,但我不知道什么应该很容易。我正在为practice briannabaldwinphotography.com建立一个网站。我只是想压缩它,这样我就可以点击一个锚,它会平滑地滚动到一个id与锚同名的。例如:“about”li主播的href为#section_three,将滚动到id为section_three的。我尝试了10种不同的变体,但都不适合我。我要找的是$(this).attr(“href”).offest().top}…等等。这是我想浓缩的代码。谢谢 $(functio
。例如:“about”li主播的href为#section_three
,将滚动到id为section_three
的
。我尝试了10种不同的变体,但都不适合我。我要找的是$(this).attr(“href”).offest().top}
…等等。这是我想浓缩的代码。谢谢
$(function() {
$("[href='#section_three']").on("click", function() {
$("html body").animate({"scrollTop":$("#section_three").offset().top}, 1000);
return false;
});
$("[href='#section_two']").on("click", function() {
$("html body").animate({"scrollTop":$("#section_two").offset().top}, 1000);
return false;
});
$("[href='#section_four']").on("click", function() {
$("html body").animate({"scrollTop":$("#section_four").offset().top}, 1000);
return false;
});
$("[href='#section_one']").on("click", function() {
$("html body").animate({"scrollTop":$("#section_one").offset().top}, 1000);
return false;
});
});
如果使用,则可以获取所有元素,且href以“#section_quot
开头,将处理程序绑定到这些元素,然后在处理程序中使用this.href
获取单击的特定元素的href:
$(function() {
$("[href^='#section_']").on("click", function() {
$("html body").animate({"scrollTop" : $(this.href).offset().top}, 1000);
return false;
});
});
请注意,
this.href
的工作与$(this.attr(“href”)
的工作相同,但效率更高:无需创建jQuery对象来访问您可以直接访问的元素属性。因为在每种情况下href
都与目标元素匹配,所以它相当简单
$("[href^='#section']").on("click", function() {
var targetSelector = $(this).attr('href');
$("html body").animate({"scrollTop":$(targetSelector).offset().top}, 1000);
return false;
});
如果这些元素通过父类和标记具有公共类或更好的路径,则可以提高初始选择器性能“我尽量不提问”-为什么,只需提问…:)顺便说一句,$(this.attr('href')应该有帮助。。。我想,‘a’选择器(没有看到你的HTML)……非常有效,谢谢。我没有想到要尝试$($(this.attr('href')).offset()。。。。。。。因为这不起作用$(this.attr('href')。实际上
this.href
返回带有协议、域等的完整绝对urlthis.hash
可以工作,但使用“attribute start with”并使用this.href而不是创建jquery对象是个好主意。但代码似乎不起作用。。。。但没关系,另一个评论者也有类似的代码。谢谢。this.hash确实使第二个评论者的代码起作用。