实现DIV左右移动出现的问题
以下代码源于 jQuery权威指南的 chapter 5 list 9
描述:出现问题的地方在于点击 左移 或 右移 按键后;
先看代码再描述:
移动位置的动画
body{font-size:13px}
.divFrame{border:solid 1px #666;width:168px;text-align:center;}
.divFrame .divTitle{background-color:#eee;padding:5px 0px 5px 0px}
.divFrame .divContent{width:108px;height:52px;padding:5px 0px 5px 0px;margin:0px 30px 0px 30px;overflow:hidden}
.divFrame .divContent .divList{width:162px;position:absolute}
.divFrame .divContent .divList span{border:solid 1px #ccc;background-color:#eee;width:50px;height:50px;float:left;margin-right:2px}
.btn {border:#666 1px solid;padding:2px;width:60px;filter: progid:DXImageTransform.Microsoft.Gradient(GradientType=0,StartColorStr=#ffffff, EndColorStr=#ECE9D8)}
$(function() {
$("input:eq(0)").click(function() { //左移按钮点击事件
//在3000毫秒内,以动画的形式向左移动52个像素
$(".divList").animate({ left: "-=52px" }, 3000);
})
$("input:eq(1)").click(function() { //右移按钮点击事件
//在3000毫秒内,以动画的形式向右移动52个像素
$(".divList").animate({ left: "+=52px" }, 3000);
})
})
在 单击 左移 或者 右移 的时候
会无故的产生一个偏移量,这个偏移量会让滑动产生一个跳跃的过程(该代码在IE 和 CHROME均是这个现象,除FireFox)。
为了解决这个问题可以给
设置一个固定的位置,这样就可以解决跳跃的情况。
例如:
left的位置任何值都可以,只要有值就不会出现跳越再移动的现象
最好的解决方案其实是降
.divFrame .divContent .divList{width:162px;position:absolute}
改成
.divFrame .divContent .divList{width:162px;position:relative}
阅读(1918) | 评论(0) | 转发(0) |