如何通过使用间隔更改jquery中的背景位置来制作此自定义动画
how to make this custom animation by changing background position in jquery using intervals?
我正试图通过移动div上作为背景的图像的背景位置(帧)来制作一个小动画。我正在使用Jquery来制作这个动画。我在背景图像上有6帧,第一帧从0,0px开始,第二帧从85px开始,0,第三帧在172px,0,依此类推。我想在这些帧之间转换,直到单击"停止"为止。我的jquery代码粘贴在下面。我已经制作了一个像素移动的数组。我希望每帧保持1000毫秒,然后过渡到下一帧。我哪里出了问题,但不知道在哪里。。这是我的代码
$(document).ready(function () {
var timer;
$("#clickMe").click(function() {
//alert("you are here");
timer=setInterval(moveframe,1000);
});
$("#stop").click(function() {
clearInterval(timer);
});
});
function moveframe() {
var framespx=[0,85,172,256,512,1024];
for (var i=0;i<framespx.length;i++) {
alert("you ar here");
var xPos=framespx[i]+"px ";
var yPos="0px";
$('.fixed').css({backgroundPosition: xPos+yPos});
}
}
您的代码看起来有一些逻辑错误,运行您的代码,可以看到相同的背景。
尝试:
$(document).ready(function () {
var timer;
$("#clickMe").click(function() {
//alert("you are here");
timer=setInterval(moveframe,1000);
});
$("#stop").click(function() {
clearInterval(timer);
});
});
var j=0;
function moveframe() {
var framespx=[0,85,172,256,512,1024];
for (var i=0;i<framespx.length;i++) {
if (j%framespx.length == i){
alert("you ar here");
var xPos=framespx[i]+"px ";
var yPos="0px";
$('.fixed').css({backgroundPosition: xPos+yPos});
j++
break;
}
}
}
css({'background-position': xPos+' '+yPos});
好吧,上面的属性值对我来说有点困惑,希望这是正确的,但有更多的保证;
css('background-position-x', xPos);
css('background-position-y', yPos);
现在我不认为for
循环在这里是强制性的
var posAry=[0,85,172,256,512,1024];
var currPos=0;
var timer;
$(document).ready(function () {
$("#start").click(function() {
timer=setInterval(move,1000);
});
$("#stop").click(function() {
clearInterval(timer);
});
});
function move() {
$('.fixed').css({'margin-left': posAry[currPos]+'px' }); /**you can change it to background postion/padding/... as needed by you**/
currPos++;
if(currPos==(posAry.length))
currPos=0; // for looping back
}
http://jsfiddle.net/7PvwN/1/
相关文章:
- 如何在显示侧边栏时禁用背景,单击除侧边栏之外的任何位置都会关闭侧边栏
- jQuery-仅更改Y轴的CSS背景位置
- javascript背景图像位置循环
- jQuery位置选择器输入样式背景和焦点
- 仅为背景位置X轴制作动画
- 如何将CSS背景位置属性从百分比转换为像素
- 使用 jQuery 限制滚动时的垂直背景位置
- 如何在每次页面重新加载时更改渐变背景,同时保持光标位置元素处于活动状态
- 视差'背景图像/位置/附件'jQuery的动画很不稳定
- 将Div锁定在有背景的固定位置
- 视差/背景位置的特征检测
- 根据背景位置更改光标 URL
- 精灵图像的背景位置在 IE 中不起作用,用于倒计时时钟
- 如何在背景图像到达底部时停止背景位置更改
- JS/CSS 库,用于根据指针位置对背景进行动画处理
- IE10 背景位置 x 的解决方法
- 使用单击图像映射更改设置为背景的精灵图像的位置
- 如果位置固定,则更改背景颜色
- 根据当前背景位置更改背景位置
- 在 Javascript 中获取 posX 和 posY 的背景位置