|
4116 | 4116 | }; |
4117 | 4117 | } |
4118 | 4118 |
|
| 4119 | + var ref = prev; |
4119 | 4120 | if ( data.relTo ) { |
4120 | 4121 |
|
4121 | | - var ref = document.getElementById( data.relTo ); |
| 4122 | + ref = document.getElementById( data.relTo ); |
4122 | 4123 | if ( ref ) { |
4123 | 4124 |
|
4124 | 4125 | // Test, if it is a previous step that already has some assigned position data |
|
4155 | 4156 | } |
4156 | 4157 | } |
4157 | 4158 |
|
| 4159 | + |
4158 | 4160 | // While ``data-rel-reset="relative"`` or just ``data-rel-reset``, |
4159 | 4161 | // ``data-rel-x/y/z`` and ``data-rel-rotate-x/y/z`` will have default value of 0, |
4160 | 4162 | // instead of inherit from previous slide. |
|
4176 | 4178 | if ( data.relReset === "all" ) { |
4177 | 4179 | inheritRotation = false; |
4178 | 4180 | } |
| 4181 | + } else if ( el.hasAttribute( "data-rel-inherit" ) ) { |
| 4182 | + var inheritFrom = null; |
| 4183 | + if ( data.relInherit ) { |
| 4184 | + |
| 4185 | + // If data-rel-inherit has value, it's the referenced node |
| 4186 | + inheritFrom = document.getElementById( data.relInherit ); |
| 4187 | + } |
| 4188 | + |
| 4189 | + if ( ! inheritFrom ) { |
| 4190 | + inheritFrom = ref; |
| 4191 | + } |
| 4192 | + |
| 4193 | + prev.relative.x = toNumberAdvanced( inheritFrom.getAttribute( "data-rel-x" ), 0 ); |
| 4194 | + prev.relative.y = toNumberAdvanced( inheritFrom.getAttribute( "data-rel-y" ), 0 ); |
| 4195 | + prev.relative.z = toNumberAdvanced( inheritFrom.getAttribute( "data-rel-z" ), 0 ); |
| 4196 | + prev.relative.rotate.x = toNumberAdvanced( inheritFrom.getAttribute( "data-rel-rotate-x" ), 0 ); |
| 4197 | + prev.relative.rotate.y = toNumberAdvanced( inheritFrom.getAttribute( "data-rel-rotate-y" ), 0 ); |
| 4198 | + prev.relative.rotate.z = toNumberAdvanced( inheritFrom.getAttribute( "data-rel-rotate-z" ), 0 ); |
| 4199 | + prev.relative.rotate.order = inheritFrom.getAttribute( "data-rel-rotate-order" ) || "xyz"; |
4179 | 4200 | } |
4180 | 4201 |
|
4181 | 4202 | var step = { |
|
4285 | 4306 | el.setAttribute( "data-rotate-z", step.rotate.z ); |
4286 | 4307 | el.setAttribute( "data-rotate-order", step.rotate.order ); |
4287 | 4308 | el.setAttribute( "data-rel-position", step.relative.position ); |
| 4309 | + el.setAttribute( "data-rel-x", step.relative.x ); |
| 4310 | + el.setAttribute( "data-rel-y", step.relative.y ); |
| 4311 | + el.setAttribute( "data-rel-z", step.relative.z ); |
| 4312 | + el.setAttribute( "data-rel-rotate-x", step.relative.rotate.x ); |
| 4313 | + el.setAttribute( "data-rel-rotate-y", step.relative.rotate.y ); |
| 4314 | + el.setAttribute( "data-rel-rotate-z", step.relative.rotate.z ); |
4288 | 4315 | prev = step; |
4289 | 4316 | } |
4290 | 4317 | }; |
|
0 commit comments