-
Posts
4,261 -
Joined
-
Last visited
-
Days Won
439
Content Type
Profiles
Forums
Store
FAQ
Showcase
Product
Blog
ScrollTrigger Demos
Downloads
Posts posted by OSUblake
-
-
1 hour ago, Roddy said:
I guess it was the way he posed the question - "Why are you even using a table?" that seemed a bit off-putting. It also seemed a bit off topic (especially after we had solved the issue).
Sorry if it came off that way. I brought up CSS grid because animating tables can be very problematic. Tables were not designed with animations in mind, which is why you still have to use attributes to get some table elements to display correctly.
And there is usually more than one way to solve a problem. Using CSS grid was part 1 of my recommendation. You called me a troll before I got to part 2 below.
1 hour ago, Roddy said:I was much more interested in the reason those lines would even show up.
The gaps are caused because of rounding. An 81px wide element at a scale of 0.786 is 63.666000000000004 pixels. Not exactly a whole number, so you might see artifacts bleeding through. To get rid of those gaps, you can use will-change: transform; in your css. The browser can rasterize (take a snapshot) of the layout before scaling gets involved.
https://developer.mozilla.org/en-US/docs/Web/CSS/will-change
-
4
-
1
-
-
Why are you even using a table? Tables are designed to display data. If you want a table-like layout, then use CSS grid.
https://developer.mozilla.org/en-US/docs/Web/CSS/CSS_Grid_Layout/Basic_Concepts_of_Grid_Layout
-
4
-
-
You can't use the variable name top at the global level because it refers to something else.
https://developer.mozilla.org/en-US/docs/Web/API/Window/top
Just rename your top variable to something else.
-
4
-
1
-
-
4 minutes ago, Dipscom said:
AMP is Google taking a leaf out from Facebbok's book and trying to create its own walled garden.
Not really. Google has its own walled planet sans China. I'm not saying that's a good thing... but that's the reality of the internet right now.
6 minutes ago, Dipscom said:But I will conced it is groundbreaking technology.
I agree. Web components are awesome. No React. No Vue. No frameworks. Just good old fashioned HTML.
-
3 hours ago, alguna said:
Because only a letter is differing one to another but I can't figure out how I could ...
Using a letter makes no sense. Numbers are your friend when it comes to repeating something... and so are loops. There are many ways to do a loop, and here is one.
See the Pen c35a7a69af6a6db997249a6111e6f930 by osublake (@osublake) on CodePen
-
6
-
-
33 minutes ago, Dipscom said:
But, as a customer, I can easily see how static ads would be more performant. They are less intrusive/annoying, all the information is there for the user to see at all times and if nicely designed, they are easier on the eyes.
And that's why we have AMP. At its core, Google is an advertising company.
-
1
-
-
58 minutes ago, qqignatqq said:
With jquery, the problem was solved and I showed the code to solve the problem from the first post. How to do the same for tweenmax?
Then do the same thing. GSAP classes will be on the parent from inside an iframe.
var box = document.querySelector("#box"); window.parent.TweenMax.to(box, 1, { x: 100 });
Depending on how deep your iframe is, you may need to something like window.parent.parent...
-
3
-
-
1 hour ago, qqignatqq said:
I download the scripts I need and place them on my hosting via <script src="js/jquery-3.2.1.min.js"></script>.
You may need to use a fully qualified URI for caching to work, but this is a server question, and you will probably get a better answer on StackOverlow.
Also, caching.
https://developer.mozilla.org/en-US/docs/Web/HTTP/Caching
-
1
-
-
As an outsider to the banner ad industry, I will say that animated ads are very frustrating on mobile. I can deal with static ads, but I will click away from a site if it looks like the animated ads are making the site unresponsive.
-
1
-
-
3 hours ago, mrTowers said:
So, if I wanted to make another element animate similar to the one done previously do I have to make a separate JS file?
Why would you need to make another file? The only reason to ever create another file is for organization of your code.
Make sure you proofread the file you're already working on. 'hook' can't be right. That's looking for a <hook></hook> element. Did you mean '#hook'?
const scene2 = new ScrollMagic.Scene({ triggerElement: 'hook', duration: 395, triggerHook: 0.9 })
-
3
-
-
11 minutes ago, GreenSock said:
Math.acos(-1) which JS returns as NaN
Rounding error. Seems that happens in other languages too.
-
2
-
-
If you need something to be sticky, just use CSS.
See the Pen 41a997ea6297132313629b608d0ba39f by osublake (@osublake) on CodePen
-
3
-
-
34 minutes ago, Wipeo said:
ScrollMagic tries to recalculate the values to match with new viewport and scroll position.
Yep. Works fine without ScrollMagic.
A wise man once said, "You might not need ScrollMagic".
-
2
-
-
Oh, I see. In that case, you might want to look at lagSmoothing ad well.
-
5
-
-
Any particular reason you need to know when it updates? But you can add an event listener to the ticker.
-
3
-
-
Hey @Luckyde
I'm still out of town... applying for a new job, but that's not important. I could have sworn that you replied to my last post, but I don't see it anymore. I just wanted to make sure that something didn't go wrong on GSAP's end. We are in the middle of upgrading the forum software here, so it's possible that your last post might have deleted by accident.
-
2
-
-
1 hour ago, GreenSock said:
Or if that doesn't work, can you just link to the files (perhaps on a CDN like cloudflare) instead of trying to run it all through an NPM-based build system that doesn't expose the document properly?
Again, this is going back to what I said earlier. Just load your GSAP files through normal script tags. Nuxt is going to try and run stuff as server side code.
-
2
-
-
If you want to animate width from the center, then you're going to have to move it the left at the same time, preferably using x instead of left. You would move it half the width you're animating.
-
2
-
-
@GreenSock you might want to check out this problem and see if it needs fixing.
-
1
-
-
Before you start digging into source code, you should at least try troubleshooting your SVG code first. You have have a pointless m0 0 at the end here.
<path id="source" style="" d="m256 421h30l60-135h-150zm0 0"/>
Remove it, and it seems to work fine.
<path id="source" style="" d="m256 421h30l60-135h-150z"/>
-
3
-
-
Don't know about swapping things out. What I do know is that when you change something in the data object, Vue runs those changes asynchronously. It uses a Promise to make that change in the next event loop tick. Using a fromTo(), from(), or set() tween might be causing problems because those changes are supposed to be synchronous.
But again, I think the main issue here is that timelines don't belong in the data object. Just like in React, Timelines don't belong in the state object.
-
2
-
-
Wasn't try to steer the original question. My main point is that your data should be simple. Something that can be converted into json.
And the more I looked into this, it appears to only happen with attributes, but I don't know why. I checked, and the startAt and end values are correct for the animation.
-
Also, you should probably use $refs instead of selectors like ". moving-rect" and ".circle". Elements may be swapped out during rerenders e.g. when Vue detects a change.
-
1
-
-
Vue's data system uses setters to detect changes, which is being triggered with this.timeline = new TimelineMax() in your mounted section because it's a different type than null.
And you don't need reactivity for a timeline. Vue can't detect when you make changes to a timeline.
-
4
-
private pen
in GSAP
Posted
testing
See the Pen bGYdqgB by osublake (@osublake) on CodePen