Skip to content
This repository was archived by the owner on Sep 15, 2025. It is now read-only.

Commit dd723ef

Browse files
committed
bugged demo
1 parent 4bee487 commit dd723ef

File tree

2 files changed

+49
-10
lines changed

2 files changed

+49
-10
lines changed

index.html

Lines changed: 38 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,38 @@
1+
<!DOCTYPE html>
2+
<html>
3+
4+
<head>
5+
<title>jQuery.Keyframes.Spritesheet Example</title>
6+
<script type="text/javascript" src="bower_components/jquery/dist/jquery.min.js"></script>
7+
<script type="text/javascript" src="bower_components/jquerykeyframes/jquery.keyframes.min.js"></script>
8+
<script type="text/javascript" src="keyframes.spritesheet.js"></script>
9+
<script>
10+
$(window).load(function(){
11+
var ss = $.keyframe.spriteSheet({
12+
name: 'gem',
13+
rows: 6,
14+
cols: 7,
15+
width: 210,
16+
height: 180,
17+
offsetX: 0,
18+
offsetY: 0,
19+
count: 39
20+
});
21+
22+
$.keyframe.define([ss]);
23+
24+
$('.spriteContainer').playSpriteSheet('gem', '10s');
25+
});
26+
</script>
27+
<style>
28+
.spriteContainer{
29+
width: 32px;
30+
height: 32px;
31+
background-image: url(emeraldspinning.png);
32+
}
33+
</style>
34+
</head>
35+
<body>
36+
<div class="spriteContainer"></div>
37+
</body>
38+
</html>

keyframes.spritesheet.js

Lines changed: 11 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11

22
(function() {
33

4-
vendorPrefix + vendorPrefix = $.keyframe.getVendorPrefix();
4+
vendorPrefix = $.keyframe.getVendorPrefix();
55

66
$.keyframe = $.extend($.keyframe, {
77

@@ -10,29 +10,29 @@
1010
spriteSheet: function(opts){
1111

1212
var defaults = {
13-
name: ''
13+
name: '',
1414
rows: 1,
1515
cols: 1,
1616
height: 0,
1717
width: 0,
1818
offsetX: 0,
1919
offsetY: 0,
20-
count: (rows * cols),
20+
count: (opts.rows * opts.cols),
2121
spriteWidth: (opts.width / opts.cols),
2222
spriteHeight: (opts.height / opts.rows),
2323
loop: true
2424
};
2525

26-
$.extend(defaults, opts);
26+
opts = $.extend(defaults, opts);
2727

2828
$.keyframe.spriteSheets[opts.name] = opts;
2929

3030
spriteStep = 100 / opts.count;
3131
spriteFrames = {};
32-
var x = opts.offsetX;
33-
var y = opts.offsetY;
32+
var x = opts.offsetX - opts.spriteWidth;
33+
var y = opts.offsetY - opts.spriteHeight;
3434
for(var i = 0; i < opts.count; i++){
35-
spriteFrames[(spriteStep * i) + '%'] = {
35+
spriteFrames[Math.round(spriteStep * i) + '%'] = {
3636
'background-position': '-' + (opts.spriteWidth + x) + 'px -' + (opts.spriteHeight + y) + 'px'
3737
}
3838
if(x >= (opts.cols * opts.spriteWidth)){
@@ -66,11 +66,12 @@
6666
}
6767

6868
var animate = name + ' ' + time + ' steps(' + opts.count + ') ' + loops;
69-
var existingAnimation = $(this).css('animation');
70-
if(existingAnimation){
69+
var existingAnimation = this.css('animation');
70+
if(existingAnimation.split(' ')[0] != "none"){
7171
animate = existingAnimation + ', ' + animate;
7272
}
73-
$(this).css(vendorPrefix + 'animation', animate);
73+
console.log(this);
74+
this.css(vendorPrefix + 'animation', animate);
7475
}
7576
}
7677
}

0 commit comments

Comments
 (0)