解决jquery animate({scrollTop$pos},500)与$(window).scroll方法冲突的问题
当点击节点时 先移除$(window).on("scroll")监听事件 在animate动画结束之后再添加上
$('#J_tab li').on('click', function(){ $(window).off(".changeCityActive"); $('html,body').animate({scrollTop:$('.list-item-wrp[data-city="'+cityName+'"]:first').offset().top-offTop}, 400, 'easeOutExpo', function(){
$(window).on("scroll.changeCityActive" , changeCityActive);
});
}); $(window).on("scroll.changeCityActive" , changeCityActive); function changeCityActive(){
var shTop = $('.list-item-wrp[data-city="shanghai"]:first').offset().top;
var hzTop = $('.list-item-wrp[data-city="hangzhou"]:first').offset().top;
var szTop = $('.list-item-wrp[data-city="suzhou"]:first').offset().top;
var njTop = $('.list-item-wrp[data-city="nanjing"]:first').offset().top;
var qtTop = $('.list-item-wrp[data-city="qita"]:first').offset().top; if ($("#rank-wrp").css("position") == "fixed" && $(window).scrollTop() < hzTop -130) { $("#J_tab li[data-city='shanghai']").addClass('active').siblings().removeClass('active');
}else if ($(window).scrollTop() >= hzTop-130 && $(window).scrollTop() < szTop-130){ $("#J_tab li[data-city='hangzhou']").addClass('active').siblings().removeClass('active');
}else if ($(window).scrollTop() >= szTop-130 && $(window).scrollTop() < njTop-130){ $("#J_tab li[data-city='suzhou']").addClass('active').siblings().removeClass('active');
}else if($(window).scrollTop() >= njTop-130 && $(window).scrollTop() < qtTop-130){ $("#J_tab li[data-city='nanjing']").addClass('active').siblings().removeClass('active');
}else if($(window).scrollTop() > qtTop-130){ $("#J_tab li[data-city='qita']").addClass('active').siblings().removeClass('active');
}
}
解决jquery animate({scrollTop$pos},500)与$(window).scroll方法冲突的问题的更多相关文章
- 解决jQuery多个版本,与其他js库冲突方法
jQuery多个版本或和其他js库冲突主要是常用的$符号的问题,这个问题 jquery早早就有给我们预留处理方法了,下面一起来看看解决办法. 1.同一页面jQuery多个版本或冲突解决方法. < ...
- 解决Jquery Kendo.xxx is not a function 的方法
不知道大家遇到过没有,要同时间使用Telerick 和Kendo的时候 这个问题搞了我好多天,其实解决方法很简单,就是在LAYOUT里面先写TELERIK的注册脚本, 再写KENDO的. @(Html ...
- Jquery动画方法 jquery.animate()
目前在学习Oracle数据库,由于刚接触,学校让练习练习HTML内容,就想起了老师以前提起过的animate方法 animate是jquery的一个方法,这个方法主要功能是能实现比较平滑的动态效果,所 ...
- jQuery基础之(三)jQuery功能函数前缀及与window.onload冲突
1.jQuery功能函数前缀 在javascript中,开发者通常会编写一些小函数来处理各种操作细节,例如在用户提交表单时,要将文本框最前端和最末端的空格内容清理掉.而javascript中没有类似t ...
- jquery animate函数实现
jquery animate 函数 实现动画效果 参数一 比如高度宽度 之类的:'-=50' 参数二 速度之类 <html xmlns="http://www.w3.org/1999/ ...
- 解决jquery与zepto等其它库冲突兼容的问题
解决jquery与zepto等其它库冲突兼容的问题;(function ($) { }) (jQuery); ;(function ($) { }) (Zepto); 在Bootstrap ...
- jQUery中的$(document).ready()方法和window.onload()方法的区别
1.常规的Javascript代码中,通常使用window.onload方法 window.onload = function(){//代码} 2.jquery中,则使用$(document).rea ...
- jquery库与其他库(比如prototype)冲突的解决方法
前端开发很容易会遇到jQuery库与其他库冲突的场景,比如和prototype库冲突. 实际上这种冲突是因为不同的第三方JS库争夺对$标识符的控制权引起的. 解决方法,就是使用jQuery提供的jQu ...
- Jquery中$(document).ready() 和 JavaScript中的window.onload方法 比较
Jquery中$(document).ready()的作用类似于传统JavaScript中的window.onload方法,不过与window.onload方法还是有区别的. 1.执行时间 win ...
随机推荐
- HTML5的全局属性
contentEditable:是否允许用户编辑元素中的内容.contentEditable有两个值,一个True 一个False. 例子: <ul contentEditable=" ...
- Sumbline编译Less
Less教程 Sublime Text 2的Less2Css插件介绍与安装 网址 http://fdream.net/blog/article/783.aspx 如果出现node.exe不是内部命令的 ...
- svn-代码回滚
第一种:# svn revert [-R] something 第二种: 1. svn update,svn log,找到最新版本(latest revision) 2. 找到自己想要回滚的版本 ...
- http 和 Tcp 的区别
http 和 tcp 的区别: Http在每一次请求结束后都会主动释放连接,因此HTTP连接是一种“短链接”,要保持客户端程序的在线状态,需要不断地向服务器端发起连接请求. TCP连接时一种“长连接” ...
- SWD模式和JTAG模式
一.功能 SWD模式:仿真 下载 JTAG模式:仿真 下载 二.接口 1.J-link JTAG/SWD接口 2.开发板接口电路 ①SWD模式 4根线(包片机) ②JTAG模式 20脚JTAG(网络) ...
- 解决CocoaPods在OS X 10.11出现问题-b
最近把mac系统升级到10.11系统,但是在用pod install命令的时候,却提示command not found.后来上网查了下才知道,Cocoapods在10.11系统上发生了变化. 在st ...
- canvas仿黑客帝国的字符下落
? 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 ...
- sublime部署开发环境
安装nodejs 去官网下载安装,暂时不建议安装5.0以上版本. 命令行运行以下命令查看是否安装成功: 全局安装gulp $ npm install -g gulp 全局安装requirejs 压缩资 ...
- 由tomcat启动想到的
1.batch:批处理文件,表示一批 2.profile:轮廓 3.用户变量和系统变量的关系是什么? 答:点击"我的电脑→属性→高级"标签的"环境变量&quo ...
- 把 Eclipse 中的工程 Push 到 Github(适用 Windows 平台)
今天发现一小技巧,关于如何把Eclipse的某一个Existing project push 到github服务器. Eclipse 应该是 JavaEE 版本. 在project 右键 team, ...