jquery 移动div,可循环移动,到末尾的时候跳回到开始。 5

$(".an_01").click(function(){$(".body_right_01_01").animate({right:'+=220px'});});$("... $(".an_01").click(function(){
$(".body_right_01_01").animate({right:'+=220px'});
});
$(".an_02").click(function(){
$(".body_right_01_01").animate({right:'-=220px'});
});
以上是代码,就是
按一下an_01 div 就向右移动220px,
按一下an_02 div 就向左移动220px,

问题就是,到尽头了怎么办?如何让它跳回到初始的地方???
展开
 我来答
阿刚炖蛋
2013-07-17 · TA获得超过3004个赞
知道大有可为答主
回答量:1789
采纳率:92%
帮助的人:973万
展开全部

你好!!


通过你进行动画元素的right值,与你所有的“尽头”这个值进行比较,如果大于这个值时,将该元素right值设置为0即可。


另外,按下an_01  div 是不是表达为应该向左移动?!


简单代码:


$(".an_01").click(function(){
    $(".body_right_01_01").animate({right:'+=220px'},function(){    
               //你的尽头值
               var  maxLimit = 500;
               //当前移动元素的位置
               var  _right = parseInt( $(this).css("right") );
               //超出范围设置回到起点
               if( _right > maxLimit ){
                     $(this).css({"right":0});                      
               }
    });
});
更多追问追答
追问
这位兄弟真是高手,现在能自动跳回来了,还有就是,an_02呢?怎么让他向左移动?
追答

an_02 与 an_01 是一样的道理,只不过一个是设置right的值为增加,一个是减少而已。

你是缺乏思考吧,XD!

$(".an_02").click(function(){
    $(".body_right_01_01").animate({right:'-=220px'},function(){    
               //你的尽头值
               var  maxLimit = 500;
               //当前移动元素的位置
               var  _right = parseInt( $(this).css("right") );
               //超出范围设置回到起点
               if(  Math.abs(_right) > maxLimit ){
                     $(this).css({"right":0});                      
               }
    });
});
锋擎
2013-07-17 · 超过17用户采纳过TA的回答
知道答主
回答量:68
采纳率:100%
帮助的人:34.5万
展开全部
jquery中有一个scrollLeft方法可以判断一个元素的左偏移量。
你可以做一个判断当元素左偏移量达到一定时候就返回最左边或者最右边去!
希望对你有帮助!
追问
麻烦仁兄根据上面的代码帮我修改一下
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式