最新赞助活动温馨提示:自愿赞助服务器费用,学生和没有工作的整站资源免费下载!
头像

jQuery切换登录与注册弹出窗口

来源:http://www.erdangjiade.com/ 沐浴春风 2015-05-18 08:19浏览(1831)

当点击页面中的登录或注册按钮时,将会弹出一个登录与注册弹出层,我们可以轻松的切换,这样用户体验会很好。

0、请不要问“在不在”之类的问题,有问题直接问!1、学生或暂时没有工作的童鞋,整站资源免费下载!2、¥9.9充值终身VIP会员,加我微信,826096331 拉你进VIP群学习!3、程序员加油,技术改变世界。在线 充值

jQuery切换登录与注册弹出窗口
分类:表单代码 > 注册登录框 难易:中级
查看演示

加我微信,拉你进VIP群学习:

下载资源 下载积分: 30 积分

HTML

首先在页面上加登录和注册按钮。

<nav class="main_nav"> 
    <ul> 
        <li><a class="cd-signin" href="#0">登录</a></li> 
        <li><a class="cd-signup" href="#0">注册</a></li> 
    </ul> 
</nav>

接着建立模态窗口弹出层div.cd-user-modal,在弹出层中放置两个用于切换的链接ul.cd-switcher,然后放置登录和注册表单,分别对应div#cd-login和div#cd-signup。

<div class="cd-user-modal">  
    <div class="cd-user-modal-container"> 
        <ul class="cd-switcher"> 
            <li><a href="#0">用户登录</a></li> 
            <li><a href="#0">注册新用户</a></li> 
        </ul> 
 
        <div id="cd-login">  
            <form class="cd-form"> 
                <!-- 登录表单 --> 
            </form> 
        </div> 
 
        <div id="cd-signup">  
            <form class="cd-form"> 
                <!-- 注册表单 --> 
            </form> 
        </div>         
    </div> 
</div>

jQuery

弹出层的弹出和关闭效果由jquery控制样式.is-visible的调用,切换表单是由jQuery控制演示.is-selected的调用。

$(function($) {
    var $form_modal = $('.cd-user-modal'),
    $form_login = $form_modal.find('#cd-login'),
    $form_signup = $form_modal.find('#cd-signup'),
    $form_modal_tab = $('.cd-switcher'),
    $tab_login = $form_modal_tab.children('li').eq(0).children('a'),
    $tab_signup = $form_modal_tab.children('li').eq(1).children('a'),
    $main_nav = $('.main_nav');

    //弹出窗口 
    $main_nav.on('click',
    function(event) {

        if ($(event.target).is($main_nav)) {
            // on mobile open the submenu 
            $(this).children('ul').toggleClass('is-visible');
        } else {
            // on mobile close submenu 
            $main_nav.children('ul').removeClass('is-visible');
            //show modal layer 
            $form_modal.addClass('is-visible');
            //show the selected form 
            ($(event.target).is('.cd-signup')) ? signup_selected() : login_selected();
        }

    });

    //关闭弹出窗口 
    $('.cd-user-modal').on('click',
    function(event) {
        if ($(event.target).is($form_modal) || $(event.target).is('.cd-close-form')) {
            $form_modal.removeClass('is-visible');
        }
    });
    //使用Esc键关闭弹出窗口 
    $(document).keyup(function(event) {
        if (event.which == '27') {
            $form_modal.removeClass('is-visible');
        }
    });

    //切换表单 
    $form_modal_tab.on('click',
    function(event) {
        event.preventDefault(); ($(event.target).is($tab_login)) ? login_selected() : signup_selected();
    });

    function login_selected() {
        $form_login.addClass('is-selected');
        $form_signup.removeClass('is-selected');
        $tab_login.addClass('selected');
        $tab_signup.removeClass('selected');
        $(".cd-switcher").children("li").removeClass("on");
        $(".cd-switcher").children("li").eq(0).addClass("on");
    }

    function signup_selected() {
        $form_login.removeClass('is-selected');
        $form_signup.addClass('is-selected');
        $tab_login.removeClass('selected');
        $tab_signup.addClass('selected');
        $(".cd-switcher").children("li").removeClass("on");
        $(".cd-switcher").children("li").eq(1).addClass("on");
    }

});

该实例在手机等移动设备上也有很好的展示效果,由于运用了css3效果,所以如果您使用IE浏览器,请将版本升级到IE9以上,那样展示效果会更好。

声明:本文为原创文章,如需转载,请注明来源erdangjiade.com并保留原文链接:https://www.erdangjiade.com/js/124.html
评论1
头像

友情提示:垃圾评论一律封号 加我微信:826096331拉你进VIP群学习群

  • 头像 沙发
    10-03 09:16
    254122
    我觉得二当家多一些嵌套的模板挺好
1 2