简体   繁体   中英

Animate image growing and moving to center of parent div

I have an svg image in a div, and I'd like to animate the image to grow to 80% screen height and move to the center of the parent div upon a function being called. How do I do this?

 function openNav(){ $("#topnav").animate({height:'100%'}) $("#title").fadeOut() //This is where I'd like the image animation } openNav();
 @import url('https://fonts.googleapis.com/css2?family=Hind:wght@300;400&display=swap'); /* font-family: 'Hind', sans-serif; */ html, body { height: 100%; width: 100%; margin: 0px; background: rgb(229,239,243); background: linear-gradient(0deg, rgba(229,239,243,1) 0%, rgba(181,232,255,1) 100%); } .topnav { background-color: #2541B2; border-bottom: 2px solid black; overflow: hidden; color: white; padding: 5px 5px 2px 12px; font-family: 'Hind', sans-serif; font-weight: 400; font-size: 30px; } #logo{ height: 40px; float: left; margin-right: 5px; }
 <div id="topnav" class="topnav"> <img src="https://svgshare.com/i/ifn.svg" id="logo"> <span id="title">Website</span> </div> <script src="https://code.jquery.com/jquery-latest.min.js" type="text/javascript"></script> <script src="script.js"></script>

There are a lot of ways to accomplish this. Here is one based on using .animate() . Consider the following.

 $(function() { function openNav() { $("#topnav").animate({ height: '100%' }) $("#title").fadeOut(); $("#logo").css("position", "absolute").animate({ height: $(window).height() * .8, left: ($("#topnav").width() / 2) - ($("#logo").width() / 2) }); } openNav(); });
 @import url('https://fonts.googleapis.com/css2?family=Hind:wght@300;400&display=swap'); /* font-family: 'Hind', sans-serif; */ html, body { height: 100%; width: 100%; margin: 0px; background: rgb(229, 239, 243); background: linear-gradient(0deg, rgba(229, 239, 243, 1) 0%, rgba(181, 232, 255, 1) 100%); } .topnav { background-color: #2541B2; border-bottom: 2px solid black; overflow: hidden; color: white; padding: 5px 5px 2px 12px; font-family: 'Hind', sans-serif; font-weight: 400; font-size: 30px; } #logo { height: 40px; float: left; margin-right: 5px; }
 <div id="topnav" class="topnav"> <img src="https://svgshare.com/i/ifn.svg" id="logo"> <span id="title">Website</span> </div> <script src="https://code.jquery.com/jquery-latest.min.js" type="text/javascript"></script> <script src="script.js"></script>

The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM