Comments (6)
Hi, thanks for the issue!
Just add isShowEnd: false
to your bursts
, so their markup will be hidden completely after animation ends, so it won't inеrfere with the mouse pointer. codepen demo
Cheers!
from mojs.
wow..you are fast, and that solved my problem :)
Another issue I noticed, is that after some button clicks, it seems the animation are starting to becoming "heavy" and with some delays..but it could be my browser ...
Feel free to use the codepen in your documentation if needed :)
Thanks !!
from mojs.
@jcorreia welcome! That's because you create new instances of the bursts
every time user clicks the button, so you are ending up with lots of modules and playing all of them at once afterwards.
You can use replay
method instead:
// create timeline and bursts for every button
var timeline = new mojs.Timeline;
timline.add( new mojs.Burst({ ...opts }), new mojs.Burst({ ...opts }) );
// replay timeline on every click event
$('#js-button').on( 'click', function () {
timeline.replay();
} );
This will ensure you don't create redundant modules on each click event.
You can even use just one pair of the bursts for all buttons with help of tune
method which will adjust position of the bursts::
// create just one timeline and bursts pair
var timeline = new mojs.Timeline;
var burst1 = new mojs.Burst({ ...opts });
var burst2 = new mojs.Burst({ ...opts });
timline.add( burst1, burst1 );
$('.button').on( 'click', function (e) {
burst1.tune({ x: e.pageX, y: e.pageY });
burst2.tune({ x: e.pageX, y: e.pageY });
timeline.replay();
} );
But this way, don't specify parent
for your bursts - it should be appened to body
.
from mojs.
Hi,
Thanks for the code to optimize this.
I dont think your first option would work, because I´m already using replay, and if it was done like you show I wouldn´t have any way to pass the parent to the burst options...unless theres something I´m missing :)
I´ve tried your second option and it works, but the burst are not on the buttons. They are in the right lower corner.
I´ve made a codepen to show this: https://codepen.io/jcorreia/pen/GqaqXE
thanks :)
from mojs.
Hi, that's because your bursts are in the center by default and you defining the shift with the x
/y
properties, so your animation is in the center + pageX
position. You can fix that by setting left
and top
to 0
on bursts. codepen demo
from mojs.
Thanks :)
That worked out and indeed it is much more faster now.
from mojs.
Related Issues (20)
- GPR publication workflow failure HOT 2
- Not working on IE HOT 2
- then() method is firing error "TypeError: Cannot read property '4' of null" HOT 9
- 可以为mojs添加一个removeShape的功能吗 HOT 3
- Improve the way custom shapes are instantiated HOT 4
- Unable to import in "modules" mode HOT 3
- The file imported by cdn reports an error(a native html page) HOT 2
- Como corrigir o erro/How to fix the error: Uncaught TypeError: Cannot read properties of null (reading 'appendChild') HOT 1
- Offset on click animations HOT 3
- Frame-by-frame animation HOT 6
- Independent delta not working in .then HOT 4
- Move Shape To Absolute Position HOT 1
- Document How to Add `pointer-events: none` To Shape/Timeline HOT 2
- @mojs/core not working with remix.run > ReferenceError: self is not defined HOT 1
- Mo.js support for typescript HOT 1
- Upgrade to NodeJS 20 HOT 5
- Showcase code is not working HOT 3
- The `dist` folder is missing in the npm package for `v1.7.0` HOT 1
- Tween has chance to be played 2 times rapidly in a timeline. HOT 3
- Path Easing Debugging
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from mojs.