此代码的工作原理如下:
$(document).on('click','#header',function(ev){
var body = $("html");
body.animate({scrollTop:0}, '500', 'swing', function() {
var clone = $(ev.target).clone();
$('body').prepend(clone);
});
});
但不是这样吗?
$('#menu ul li #page1').on('click','#header',function(ev){
var body = $("html");
body.animate({scrollTop:0}, '500', 'swing', function() {
var clone = $(ev.target).clone();
$('body').prepend(clone);
});
});
为什么?我是jQuery的新手,这可以向下滚动。
$(document).ready(function(){
$('#menu ul li #page2').on('click', function(){
$('html,body').animate({scrollTop: $("#services").offset().top - 30}, 1000);
});
});
HTML:
<ul>
<li><a class="a1" id="#page1" href="#">Portfolio</a></li>
<li><a class="a1" id="page2" href="#">Services</a></li>
<li><a class="a1" id="#page3" href="#">Contact</a></li>
</ul>
答案 0 :(得分:0)
问题是#
char。
#
是选择ID的符号,不得在ID中使用:
<ul>
<li><a class="a1" id="page1" href="#">Portfolio</a></li>
<li><a class="a1" id="page2" href="#">Services</a></li>
<li><a class="a1" id="page3" href="#">Contact</a></li>
</ul>
将html更改为此必须正常工作。
并且您的代码不符合逻辑:
$('#menu ul li #page1').on('click','#header',function(ev){
这意味着点击带有header
ID的元素进入<a class="a1" id="page1" href="#">
时,您必须正确选择选择器。
例如:
$(document).on('click','#menu ul li #page1',function(ev){