青训营主题创作活动我的名片

126 阅读2分钟

当青训营遇上码上掘金

作品结合了css3d实现自我介绍卡片的翻转、transition过渡动画实现选项栏切换,创作灵感源于平时积累的素材,有些地方代码不是很简洁,有错误的地方欢迎指正。

作品页面实现效果如下:

主页面: image.png

3d效果翻转卡片: image.png

由于效果只能放置图片,大家可以点击以下链接查看具体作品 h5.qzone.qq.com/page/photo?…

这期我们先来解析html页面布局结构和js部分代码,css部分的代码我们留到下期讲解。

让我们先看看html部分:

        <div class="p p2">
        </div>
        <div class="p p3">
        </div>
        <div class="card show">
            <div class="card-container">
                <div class="cover">
                    大家好!我叫小麦,一名热爱前端的菜鸟,进入本次青训营是抱着学习的心态来学习的,希望在青训营这个大家庭能和优秀的人一起学习、进步。
                    翻面有惊喜!
                </div>
                <div class="back">
                    缘分让我们相遇,大家新年快乐呀!
                </div>
            </div>
        </div>
        <div class="card ">
            <div class="card-container">
                <div class="cover">
                    喜欢篮球、吉他、唱歌、桌球,是一个热爱生活的普通大学生
                </div>
                <div class="back">
                    很高兴认识大家!
                </div>
            </div>
        </div>
        <div class="card ">
            <div class="card-container">
                <div class="cover">
                    emm,母胎单身,以后从事这项工作不知道还有没有机会认识异性,hhh
                </div>
                <div class="back">
                    欢迎来和我交流呀!兴趣爱好、IT知识都可以噢,一起进步丫
                </div>
            </div>
        </div>
    </div>
</div>

大致布局思路:
布局主要分为三大块,背景图、右侧标签切换和中间卡片部分。
container类的div标签用于布局背景图,设为relative定位,标签切换和卡片利用绝对定位布局。
(详细布局方法可关注下期)

jq实现标签切换效果:
 $('.nav li').on('click', function () {
        $(this).addClass('on').siblings().removeClass('on');
        $('.card').eq($(this).index()).addClass('show').siblings().removeClass('show');
    })    
 
 先给nav中的每个li标签绑定点击事件,点击某个标签,就会给点击的标签单独加上on类名(用于高亮显示标签的样式),其他兄弟标签移除on类,这样就能做到单独高亮显示点击的标签。
 卡片部分也是利用这个原理,不同的是用了eq()和index()这两个jq方法,利用index和eq方法可以找到点击的标签对应的是html第几个card,例如点击的是第1个li标签就会对应第1个card,就能做到单独显示某个卡片啦。
 今天作品分享就到此结束了,咱们下期再见!