<script type="text/css">这不是这样的, <script type="text/javascript">
_this是一个变量,当遍历items时,将每一个item都存储在变量里,这样调用的时候不需要再去遍历。
代码检查。然后也有可能我这种情况,之前测试的时候把js关了。。。F12-setting--Disable JavaScript勾掉
注意:不知道是不是jquery版本的问题,老师演示是正确的,但是新版的库有问题。menu.find("[href="+currentId + "]")此处中变量为字符串拼接时,应当为menu.find("[href='"+currentId+"']" ),"+currentId+"为变量拼接,单引号将变量转换为字符串
一样的,前者是jQuery的方法,后者是JS的方法
在代码里写console.log()就行了,然后在浏览器中摁F12,按照下图设置,在运行代码的时候就可以看到了。
$是为了区别js和jquery的变量,加上$一看就是jquery的变量
上代码
贴下代码看看吧?
scrollTop() 方法设置或返回被选元素的垂直滚动条位置。
当滚动条位于最顶部时,位置是 0。
$(selector).scrollTop(position)
参数position : 规定以像素为单位的垂直滚动条位置。
这里的数值不能加引号。也不用加px. 只需要给数值就可以了
先检查下前面的方法有没正确,例如这个$(window).scroll();
$(function(){
$("ul li a").click(function(){
var hr = $(this).attr("href");
var anh = $(hr).offset().top;
$("html,body").stop().animate({scrollTop:anh},2000);
})
})
同一个页面中做锚链接,可以点击元素,让页面跳到指定位置。
现在做的这个效果,不是突默认的瞬间跳到指定位置,而是滑动。这样的用户体验会好些。
思路:
1.获取到需要跳到页面地方的元素,想对于页面顶部的距离 $(hr).offset().top;
2.将这个值给html或body元素,让其滚动条,执行一个animate动画。这个动画,是改变浏览器滚动条相对顶部的值。
注意:
1.$(this).attr("href");这返回期,正好可以做为JQuery的选择器。
2..stop()防止不停点击,会不停产生动画列队的bug.
http://www.cnblogs.com/lufy/archive/2012/05/15/2501153.html 可以参考这个理解
那你觉得等于多少?
【温馨提示:JavaSE/EE、SSH/SSM、Hybrid APP、JQ/JS/CSS3/H5等编程爱好者关注我,加我慕课好友,互相学习,共同进步!】
首先$不是JS里面的,是jQuery里面的。简单讲:$其实是就是一个函数名,用来获取部件里面的值,
$("#menu")就等于document.getElementById('menu'),
$()= document.getElementById()
个人理解,Window 对象表示浏览器窗口, 对象是全局对象,所有的表达式都在当前的环境中计算.
Document 范围更小,iframe标签里面也会是有一个document,你可以试试分别加上滚动条看height
没有要求
具体1.x版本和3.x版本的方法哪里不同我也不太清楚··但实验结果是1.x的版本('[href='+currentId+']')可以实现
但3.x版本就要在=号后加个",]号前加个"··也就是('[href="'+currentId+'"]')
3.x需要拼成[href="item几"]
1.x需要拼成[href=item几]
我知道能下载,就是想啥时候不下载的时候能找到那个地址直接用,这样不是能减少服务器压力?
offset() 方法返回或设置匹配元素相对于文档的偏移(位置)。
谢谢,明白了
var top = $(document).scrollTop;这里少了个括号,应该是 var top = $(document).scrollTop();
这句话的意思是获取你现在滚动位置的div的id值。m是this指针,指向运用each遍历后找到的目前的div元素,attr("id")表示获取当前元素的id属性。
把完整的代码贴出来,才能看出问题所在
var m = $(this); 就是把指向items的指针 赋给了m变量 相当于锁定了
你的所有的div都没有闭合内容
items.each(function () {
var m = $(this);
这里的this是动态变化的,你遍历是为了比较top与scrollTop从而找出想要的currentId,所以必须遍历