Learn how to Disguise a Web page in Framer A Complete Information

Learn how to Disguise a Web page in Framer A Complete Information

Learn how to cover a web page in Framer? This information delves into varied strategies for concealing pages inside your Framer tasks. We’ll discover eventualities the place web page hiding is useful, from onboarding processes to superior person interfaces, and talk about one of the best practices for seamless transitions and responsive design. Whether or not you are a seasoned Framer developer or simply beginning, this detailed walkthrough will equip you with the information to grasp web page concealment.

Understanding the totally different approaches to hiding pages in Framer, from part state administration to conditional rendering and JavaScript implementations, is essential. This text supplies an in depth overview, full with sensible examples, that will help you grasp this important approach.

Introduction to Hiding Pages in Framer

Framer, a robust prototyping and design software, provides a mess of how to manage the circulate and presentation of person interfaces. Hiding pages, a seemingly easy function, may be instrumental in creating extra subtle and nuanced person experiences. Nonetheless, this system, like every design selection, wants cautious consideration to keep away from creating complicated or irritating interactions for customers. Efficient use of hidden pages can streamline onboarding, handle complicated info hierarchies, and even implement dynamic person permissions, making the design extra adaptable to totally different person wants.Hiding pages is not nearly making issues disappear; it is about strategic management over the data customers encounter.

This strategy can enhance person expertise by presenting solely the related content material on the acceptable time, decreasing cognitive load and selling a smoother interplay circulate. This strategy is very crucial in purposes with intricate functionalities or tailor-made person roles.

Why Disguise Pages in Framer?

Hiding pages in Framer permits for dynamic content material presentation, important in person interfaces requiring tailor-made info shows. This flexibility is especially helpful in purposes with various person roles, permissions, or phases of interplay. Examples embody onboarding processes, the place preliminary steps are hidden till particular necessities are met, and superior person interfaces, the place the show adapts based mostly on person actions.

Eventualities for Hiding Pages

The utility of hidden pages extends past easy design aesthetics. The flexibility to strategically conceal content material layers is a key function in complicated purposes, providing improved person experiences. Hiding pages is essential in managing info overload, particularly in superior person interfaces the place an awesome show of knowledge can confuse customers. This apply ensures the interface adapts to the person’s present wants.

Furthermore, it is important in implementing dynamic person permissions, making certain solely related content material is seen to every person sort.

Widespread Use Circumstances

  • Onboarding Flows: Early phases of an software, like registration or setup, typically contain a number of steps. Hiding subsequent screens till vital info is supplied ensures a transparent and intuitive development by means of the onboarding course of. This strategy streamlines the method for customers and prevents confusion. It is a essential approach to information customers by means of the preliminary phases of an software, making the interface extra user-friendly and intuitive.

  • Superior Consumer Interfaces: Complicated purposes typically require customers to navigate a number of layers of data. Hiding irrelevant sections of the interface, based mostly on person actions or context, makes the applying really feel extra responsive and intuitive. This improves person effectivity and engagement by decreasing the cognitive load. As an example, a knowledge visualization software may initially cover superior filtering choices, revealing them solely after the person has interacted with the core functionalities.

  • Particular Consumer Permissions: Sure functionalities may solely be accessible to particular person roles. Hiding these options from customers with out the required permissions enhances safety and prevents unintentional entry to restricted areas. For instance, an administrative panel may need options which might be hidden for traditional customers, making certain that solely directors can entry these capabilities. This strategy promotes a safe and managed setting.

Framer File Construction with Hidden Pages

A well-structured Framer file, incorporating hidden pages, employs a hierarchical strategy. That is essential for managing the applying’s parts.

Element Description
Foremost Container Serves because the central hub, managing the visibility of various web page components.
Hidden Pages These pages are primarily separate parts inside the Framer file, circuitously seen.
Navigation Logic Controls which hidden pages are revealed or hid based mostly on person actions, interactions, or particular standards.

An important facet is linking the navigation logic to the applying’s state administration, making certain hidden pages reply to adjustments within the software’s knowledge.

This organizational construction permits environment friendly administration of complicated purposes, offering a transparent path for navigating between pages and functionalities.

Strategies for Hiding Pages

The manipulation of web page visibility inside a Framer mission is an important facet of person expertise design. Nonetheless, naive implementations can result in convoluted code and brittle interactions. A strong strategy calls for cautious consideration of the trade-offs between totally different strategies, balancing flexibility with maintainability. Politically, this pertains to the necessity for clear and accountable design selections that prioritize person expertise over superficial complexity.The effectiveness of a page-hiding mechanism is contingent on the precise necessities of the applying.

Completely different strategies are acceptable for various ranges of dynamic content material and navigation. A simplistic strategy could suffice for static purposes, however extra complicated interactions necessitate extra subtle methods. Ignoring these nuances can result in vital efficiency bottlenecks and safety vulnerabilities, additional compounding the already complicated nature of software program improvement.

Element State Administration

Managing web page visibility by means of part state is a standard strategy in Framer, particularly for easy purposes. It leverages the part’s inside state to manage its show. This methodology is simple to implement and provides good efficiency for static pages. Nonetheless, this strategy turns into unwieldy when coping with intricate navigation flows, requiring complicated state updates and doubtlessly resulting in unintended unwanted side effects.

In eventualities with quite a few interdependent parts, the state administration can rapidly spiral uncontrolled, introducing vulnerabilities and rendering debugging a nightmare.

Routing Methods

Routing methods, whereas extra complicated to implement, supply a robust resolution for dynamic web page administration. They supply a structured strategy to managing navigation, permitting for cleaner code and higher maintainability. These methods excel at dealing with subtle software architectures, significantly when coping with complicated person flows. Nonetheless, the overhead of integrating a devoted routing system may be substantial.

Over-reliance on routing can obscure the core logic of the applying, resulting in code that’s obscure and keep. Moreover, overly complicated routing methods can hinder the efficiency of the applying.

Conditional Rendering

Conditional rendering in Framer supplies a robust mechanism for dynamically controlling the visibility of pages based mostly on varied circumstances. This strategy permits for fine-grained management over web page show, contingent on components like person enter, knowledge retrieval, or authentication standing. Whereas conditional rendering can supply a exact technique to deal with complicated visibility logic, it requires meticulous planning to keep away from introducing logical inconsistencies.

Moreover, in depth use of conditional rendering can result in overly complicated code, hindering readability and maintainability.

JavaScript Implementation

A JavaScript-based implementation provides vital flexibility and management over web page visibility. It permits for intricate interactions with different elements of the applying and knowledge sources. This flexibility is especially precious when coping with complicated data-driven interactions. Nonetheless, this strategy requires substantial programming experience and cautious consideration to keep away from introducing bugs or safety vulnerabilities. With out correct error dealing with and validation, JavaScript code can result in unpredictable habits, rendering the applying unreliable and doubtlessly liable to assaults.

Hiding Web page Interplay

Stopping person interplay with hidden pages is essential for sustaining a clear and predictable person expertise, particularly in complicated purposes. Ignoring this could result in irritating and doubtlessly harmful person encounters. This crucial facet of Framer improvement calls for cautious consideration of person habits and software logic to make sure easy transitions and keep away from surprising actions.The apply of hiding a web page in Framer goes past mere visible concealment; it necessitates the whole disengagement of interactive components.

Failure to take action can create conflicts, resulting in unintended actions and errors. This strategy is especially essential in purposes the place person security and knowledge integrity are paramount.

Disabling Consumer Enter

Consumer enter on hidden pages have to be disabled to stop surprising interactions and safeguard towards unintentional knowledge modifications. This prevents customers from unknowingly triggering actions which may disrupt the present workflow or compromise knowledge integrity. Strategies for disabling enter ought to be carried out constantly throughout the applying to make sure a uniform and predictable person expertise.

Using CSS Lessons for Selective Hiding

CSS lessons present a robust mechanism for selectively hiding or disabling components inside a hidden web page. This permits for granular management over the interplay with particular components, avoiding the necessity for extra complicated scripting options. This focused strategy ensures that solely related interactions are affected. For instance, a hidden web page may comprise buttons that ought to be rendered inactive.

Making use of a CSS class that hides or disables these buttons ensures that the person can not inadvertently click on them whereas the web page is hidden. Cautious planning is required to make sure that the chosen CSS lessons are utilized within the appropriate context.

Dealing with Occasions to Stop Unintended Habits

Occasion dealing with performs a vital position in stopping unintended habits when a web page is hidden. The appliance must actively monitor and suppress occasions that would result in unexpected actions. That is particularly crucial for interactions involving timers, animations, or different time-sensitive operations. Failure to deal with these occasions can result in conflicts or surprising habits, significantly in complicated or multi-threaded purposes.

As an example, if a hidden web page incorporates a timer, acceptable occasion dealing with ought to stop the timer from persevering with to run, avoiding potential knowledge corruption or errors.

Finest Practices for Sustaining Performance

Sustaining correct performance when a web page is hidden requires a structured strategy. A strong technique ought to be in place to deal with each seen and hidden states. This contains making certain that hidden pages don’t intrude with the performance of different seen pages, stopping potential conflicts. The technique ought to embody these factors:

  • Thorough occasion administration: Implement complete occasion listeners and handlers to proactively handle and suppress occasions which may set off unintended actions on hidden pages.
  • CSS class administration: Make use of CSS lessons constantly to manage the visibility and interplay standing of components inside hidden pages. This permits for versatile and granular management of UI components.
  • Contextual validation: Validate person enter and actions on hidden pages to stop unintentional modifications or errors which may propagate to different elements of the applying.
  • Testing and validation: Rigorous testing of hidden web page performance is important to make sure that the implementation prevents any unintended habits and maintains software stability.
  • Documentation: Complete documentation ought to Artikel the strategies and greatest practices for dealing with hidden pages, together with particular occasion dealing with mechanisms and CSS class utilization.

Animation and Transitions: How To Disguise A Web page In Framer

The superficial enchantment of easy transitions typically masks the strategic issues inherent of their implementation. Political narratives, like person interfaces, may be manipulated to realize desired outcomes. Delicate animations can be utilized to bolster energy buildings or, conversely, to undermine them. Nonetheless, poorly executed transitions may be jarring and counterproductive. A crucial evaluation of animation methods in Framer reveals the potential for each delicate persuasion and outright manipulation.Framer’s animation capabilities, whereas highly effective, require cautious consideration.

Pointless or poorly designed transitions can distract from the core message or performance, simply as distracting visuals in a political marketing campaign can detract from the candidate’s platform. The purpose is to leverage animation to reinforce the person expertise with out making a visually overwhelming or disorienting impact.

Animation Libraries and Methods

Framer provides a collection of animation libraries and methods to create dynamic transitions between pages. These instruments aren’t impartial devices however are able to conveying highly effective political messages by means of visible rhetoric. Cautious consideration of the chosen library and animation approach is crucial to make sure the transition reinforces, moderately than undermines, the specified message.

Transition Results

A spread of transition results may be utilized to web page hiding and revealing, every with various ranges of subtlety and impression. Linear transitions, whereas simple, can seem robotic and lack emotional resonance. Curved transitions, however, can impart a way of fluidity and magnificence. The selection of impact ought to align with the general political message being conveyed.

For instance, a pointy, jarring transition is perhaps used to focus on a battle or disaster, whereas a easy transition may recommend a gradual shift in energy dynamics.

State of affairs: Enhancing Consumer Engagement

Think about a political platform the place customers navigate by means of totally different coverage sections. A easily animated transition between pages might improve the person expertise, reinforcing the narrative of progress and cautious consideration. A linear transition, in distinction, might recommend a inflexible and rigid strategy to coverage. Using a mild, curved transition might additionally convey a way of considerate consideration and cautious consideration to element.

Strategic transitions can successfully information customers towards particular conclusions, very similar to how political rhetoric guides public opinion.

Avoiding Jarring Animations

Keep away from abrupt or jarring animations. Sudden shifts in visible components can disrupt the person’s circulate, very similar to a sudden shift in political rhetoric can disorient voters. Think about using easing capabilities to manage the pace and acceleration of transitions. Regularly fading components or using delicate transformations can present a extra partaking and fewer disruptive expertise. Using acceptable easing capabilities, like “ease-in-out,” can create a extra pure and fewer jarring transition.

Such transitions are akin to delicate shifts in political discourse, permitting the viewers to soak up the data with out being overwhelmed.

Responsive Design Issues

Learn how to Disguise a Web page in Framer A Complete Information

Framer’s energy lies in its skill to create dynamic interfaces, however this energy comes with a duty. Ignoring responsive design ideas when hiding pages can result in a fractured person expertise, particularly throughout numerous display sizes. A poorly carried out responsive design can result in an unusable product and a irritating person expertise, primarily undermining the very objective of the applying.

Sustaining Responsive Design

The elemental precept in responsive design is adaptability. Pages ought to seamlessly modify to numerous display sizes, making certain constant usability and visible enchantment. This necessitates cautious consideration of how web page visibility interacts with display decision and viewport dimensions. Media queries and breakpoints are crucial instruments for reaching this.

Media Queries and Breakpoints

Media queries enable builders to use totally different kinds based mostly on the traits of the person’s system. Breakpoints, typically outlined by particular display widths, set off these type adjustments, making certain a constant person expertise throughout totally different gadgets. The strategic use of breakpoints is essential for a easy transition between totally different show sizes. Neglecting breakpoints ends in abrupt visible adjustments and a jarring person expertise, making the applying really feel clunky and unprofessional.

Web page Visibility Throughout Display Sizes

Accurately dealing with web page visibility throughout varied display sizes is important for a user-friendly interface. Completely different display sizes necessitate totally different design selections, reflecting the various wants and expectations of customers on every platform. Failing to account for these variations can create a complicated and irritating expertise for the person, resulting in decreased engagement and doubtlessly misplaced income.

Display Measurement Web page Visibility
Cell Hidden
Pill Seen
Desktop Seen

Responsive Hiding Behaviors

Implementing responsive hiding behaviors requires meticulous planning and execution. Framer permits for the usage of media queries to dynamically change the visibility of pages based mostly on the display measurement. This requires a deep understanding of the Framer’s functionalities and an consciousness of the potential points which will come up. A very good instance of responsive hiding is a cellular software that hides sure components that aren’t essential for the cellular interface however are important on a bigger display.

Failure to implement such behaviours may end up in an software that’s both too complicated or too primary for the supposed viewers, resulting in a unfavourable person expertise.

Dealing with Potential Structure Points, Learn how to cover a web page in framer

Sustaining constant format throughout totally different display sizes when hiding pages requires cautious consideration. Adjustments in web page visibility can disrupt the general format, doubtlessly inflicting components to overlap or shift positions. This requires an understanding of how totally different display sizes have an effect on the applying’s format. Failure to anticipate and handle these points can result in a person expertise that isn’t solely visually jarring but in addition functionally problematic.

That is very true for complicated layouts the place components are positioned based mostly on the visibility of different components. Ignoring this precept ends in a person interface that feels unstable and unprofessional.

Superior Methods

Framer, whereas providing intuitive web page administration, typically falls brief in addressing the complexities of intricate software architectures. This part delves into superior methods for manipulating web page visibility, emphasizing customizability and modularity to fight the inherent limitations of its default strategy. These superior strategies are essential for constructing sturdy and maintainable purposes that transcend primary web page transitions.

Customized Element-Based mostly Visibility Management

Framer’s part system supplies a robust mechanism for encapsulating page-specific logic. Creating customized parts devoted to dealing with web page visibility permits for higher code group and reusability. This strategy isolates page-related actions inside particular parts, enhancing code maintainability and decreasing potential conflicts. Such encapsulation additionally permits subtle logic management, dealing with varied interactions like person authentication or complicated knowledge loading procedures extra successfully than relying solely on Framer’s native web page administration.

Leveraging Framer’s Constructed-in Options for Superior Web page Administration

Framer’s built-in options, typically missed, supply vital potential for superior web page administration. Options like state administration and occasion listeners, when mixed with customized parts, allow dynamic and responsive web page manipulation. Using these instruments strategically enhances the effectivity and maintainability of large-scale tasks.

Modular Strategy to Hiding Pages

A modular strategy to web page hiding separates the logic for managing web page visibility from the web page content material itself. This modularity enhances maintainability and permits for straightforward updates and modifications with out impacting different elements of the applying. A well-defined construction, the place pages are handled as impartial models, ensures that alterations to 1 web page don’t disrupt the performance of one other.

This modular strategy fosters maintainability and adaptableness.

State Administration Options for Web page Visibility

State administration options like Zustand or Jotai, when built-in with Framer, enable for a extra subtle strategy to controlling web page visibility. These instruments enable the applying’s state to be centralized and up to date effectively throughout totally different elements of the applying. The centralized state facilitates extra intricate logic for managing web page transitions and interactions, essential for complicated purposes.

Integration with Different Framer Parts and Libraries

Integrating with different Framer parts and libraries permits for a richer interplay expertise and streamlined workflows. As an example, integrating with type libraries might set off web page transitions based mostly on person enter, or a knowledge visualization library might replace the seen content material based mostly on adjustments within the knowledge. Such integrations allow a extra complete and dynamic person expertise, significantly inside subtle purposes.

Finest Practices and Troubleshooting

Framer’s page-hiding mechanisms, whereas highly effective, may be liable to pitfalls if not dealt with meticulously. Improper implementation can result in jarring person experiences, efficiency points, and in the end, a less-than-optimal software. Sturdy greatest practices and a proactive strategy to troubleshooting are essential for producing high-quality, dependable Framer interactions.Efficient web page hiding requires a fragile stability between visible enchantment and useful integrity.

Overly complicated or poorly optimized options can cripple the efficiency of even probably the most subtle purposes. Due to this fact, a realistic and significant strategy to web page administration is important.

Finest Practices for Web page Hiding

The even handed use of naming conventions and commenting inside your Framer code is paramount. This permits for maintainability and readability, particularly as tasks develop. Inconsistency in naming and lack of commentary can result in vital upkeep complications sooner or later. Preserve a constant naming construction for pages, parts, and variables. Use clear, concise names that mirror the aim of every component.

Feedback ought to clarify complicated logic, various implementations, or particular design issues.

  • Make use of significant variable names that clearly talk their objective.
  • Construction your code with clear separation of issues, maintaining associated capabilities and variables grouped logically.
  • Recurrently audit and refactor your code to keep up its readability and effectivity. Ignoring these practices can result in a spaghetti codebase, making debugging and future improvement extraordinarily troublesome.
  • Implement sturdy error dealing with to stop surprising habits. That is crucial to anticipate and stop points attributable to invalid knowledge or person enter.

Widespread Issues and Options

Troubleshooting page-hiding points typically entails figuring out conflicts between totally different parts or surprising interactions. An intensive understanding of the Framer setting and its limitations is important.

  • Inconsistent Animation/Transitions: Uneven or jarring transitions may end up from misconfigured animation parameters or conflicting timing. Confirm that animation durations and easing capabilities are appropriately utilized to all related components, making certain consistency throughout the applying. Modify animation timing or easing to realize a seamless transition between web page states. Rigorously assessment the applying of transitions to parts that is perhaps affected by the page-hiding actions.

  • Efficiency Bottlenecks: Hiding quite a few pages or complicated parts can negatively impression software efficiency. Be certain that parts are optimized for measurement and performance, decreasing pointless calculations or DOM manipulations. Contemplate caching continuously used parts or knowledge. Efficiency testing and profiling can establish areas for optimization.
  • Responsive Design Points: Web page hiding behaviors can break on totally different display sizes or gadgets. Make sure the hiding mechanism is adaptable to numerous display resolutions, sustaining a constant person expertise throughout all platforms. Implement responsive design ideas to account for various viewport sizes, making certain that web page hiding capabilities appropriately throughout totally different gadgets.

Troubleshooting Information

A scientific strategy to troubleshooting is essential. Isolate the problematic space of the code by progressively disabling or commenting out sections to pinpoint the foundation trigger. This methodology, coupled with an in depth understanding of the Framer ecosystem, considerably improves the troubleshooting course of.

Potential Difficulty Decision
Web page doesn’t cover appropriately Confirm that every one related components are focused appropriately. Verify for typos or incorrect selectors within the hiding code. Make sure the cover/present logic is appropriately built-in with any associated animations or transitions.
Animation shouldn’t be easy Evaluation the animation parameters (length, easing, delay) and guarantee they’re appropriately configured for the context. Verify for conflicting animations or transitions that is perhaps impacting the specified final result. Rigorously look at the applying of transitions to parts that is perhaps affected by the page-hiding actions.
Efficiency points on massive purposes Optimize parts for measurement and performance. Implement caching mechanisms for continuously accessed parts. Make use of efficiency testing and profiling instruments to establish areas needing enchancment.

Instance Implementations

The superficial simplicity of hiding pages in Framer masks a posh interaction of design selections and technical implementations. Blindly making use of methods with out understanding the potential ramifications for person expertise and app stability is a recipe for catastrophe. The next examples exhibit a crucial strategy, prioritizing each aesthetic enchantment and user-friendliness.A multi-page software typically necessitates a strategic strategy to navigation, particularly when coping with intricate info hierarchies.

The strategies for hiding pages straight impression the person’s notion of the applying’s performance.

Multi-Web page App Workflow

The next workflow Artikels a person journey by means of a multi-page app using Framer’s page-hiding capabilities. This isn’t a universally relevant strategy, however a sensible instance for demonstration.

  • The appliance initiates on the “Dwelling” web page, presenting a concise overview and interactive components.
  • Consumer interplay with a particular part, like a button, triggers a transition to the “Particulars” web page, showcasing in-depth info associated to the part.
  • Upon completion of the detailed info assessment, the person can return to the “Dwelling” web page, successfully concealing the “Particulars” web page.
  • Additional interplay with the applying might doubtlessly result in one other web page transition, following the same course of.

Code Implementation

This instance makes use of a component-based strategy for the pages, selling modularity and maintainability. It is essential to notice that the precise code will differ based mostly on the Framer model and the complexity of the applying.

Step Motion
1 Create a brand new Framer file. This establishes the muse for the applying.
2 Design pages utilizing parts. This promotes modularity and facilitates future upkeep.
3 Implement hiding logic. Make use of Framer’s animation and transition options to realize a seamless person expertise.
4 Check and refine. Rigorous testing is essential to establish and resolve potential points within the person interface and the applying’s total habits.

A well-structured, modular strategy to web page hiding ensures the applying stays maintainable and scalable.

“`javascript// Instance code snippet (simplified)// … (part definitions for Dwelling and Particulars pages)// Within the Dwelling web page part:const detailsButton = doc.getElementById(‘detailsButton’);const detailsPage = doc.getElementById(‘detailsPage’);detailsButton.addEventListener(‘click on’, () => // Disguise the Dwelling web page homeComponent.cover(); // Present the Particulars web page detailsPage.present(););// Within the Particulars web page part:const homeButton = doc.getElementById(‘homeButton’);homeButton.addEventListener(‘click on’, () => // Disguise the Particulars web page detailsPage.cover(); // Present the Dwelling web page homeComponent.present(););“`This instance demonstrates a basic strategy.

Actual-world implementations would require considerably extra subtle dealing with of interactions and states. Furthermore, correct error dealing with and efficiency optimization are important for sturdy purposes.

Closing Evaluation

How to hide a page in framer

In conclusion, hiding pages in Framer provides vital flexibility for designing dynamic and interesting person interfaces. By leveraging the methods mentioned on this information, you’ll be able to successfully handle web page visibility, improve person expertise, and create subtle interactive purposes. Bear in mind to prioritize responsive design, easy animations, and correct error dealing with for one of the best outcomes. We hope this information has empowered you to confidently cover pages in your Framer tasks.

FAQ Compilation

How can I stop customers from interacting with a hidden web page?

You’ll be able to disable person enter on hidden pages utilizing JavaScript. This entails choosing components on the hidden web page and setting their properties to stop clicks, faucets, or different interactions. CSS lessons will also be used to successfully cover or disable components on the hidden web page.

What are some widespread issues when hiding pages in Framer, and the way can I troubleshoot them?

Widespread points embody surprising format shifts, significantly when hiding pages dynamically. Correctly dealing with transitions and utilizing responsive design methods, together with media queries and breakpoints, are essential for avoiding these points. Debugging instruments inside Framer might help establish the supply of issues. Thorough testing is important to stop surprising habits.

How do I guarantee my hidden web page implementation is suitable with totally different display sizes?

Utilizing media queries and breakpoints is important for responsive design. These methods will let you adapt web page visibility based mostly on display measurement. The supplied desk within the Artikel serves as a useful instance of find out how to deal with totally different display sizes and find out how to deal with web page visibility throughout these sizes.

What are one of the best practices for implementing a modular strategy to hiding pages?

Utilizing customized parts for controlling web page visibility is essential for a modular strategy. This isolates the hiding logic, making your codebase extra maintainable and scalable. Correct naming conventions and feedback are key to readability and future upkeep.

Leave a Reply

Your email address will not be published. Required fields are marked *

Leave a comment
scroll to top