JavaScript/jQuery实现切换页面效果

本文实例为大家分享了JavaScript/jQuery实现切换页面效果的具体代码,供大家参考,具体内容如下

<!DOCTYPE html>
<html lang="en">
    <head>
        <meta charset="UTF-8" />
        <meta http-equiv="X-UA-Compatible" content="IE=edge" />
        <meta name="viewport" content="width=device-width, initial-scale=1.0" />
        <title>切换页面</title>
        <style>
            * {
                margin: 0;
                padding: 0;
            }

            li {
                list-style-type: none;
            }

            .tab {
                width: 978px;
                margin: 100px auto;
            }

            .tab_list {
                height: 39px;
                border: 1px solid #ccc;
                background-color: #f1f1f1;
            }

            .tab_list li {
                float: left;
                height: 39px;
                line-height: 39px;
                padding: 0 20px;
                text-align: center;
                cursor: pointer;
            }

            .tab_list .current {
                background-color: #c81623;
                color: #fff;
            }

            .item_info {
                padding: 20px 0 0 20px;
            }

            .item {
                display: none;
            }
        </style>
    </head>
    <body>
        <div class="tab">
            <!-- 标题 -->
            <div class="tab_list">
                <ul>
                    <li class="current">标题1</li>
                    <li>标题2</li>
                    <li>标题3</li>
                    <li>标题4</li>
                    <li>标题5</li>
                </ul>
            </div>
            <!-- 内容 -->
            <div class="tab_con">
                <div class="item" style="display: block">内容1</div>
                <div class="item">内容2</div>
                <div class="item">内容3</div>
                <div class="item">内容4</div>
                <div class="item">内容5</div>
            </div>
        </div>
        <script>
            //获取元素,获取所有的小li
            var tab_list = document.querySelector('.tab_list');
            var lis = tab_list.querySelectorAll('li');
            var items = document.querySelectorAll('.item');

            //排他思想,遍历标题
            for (var i = 0; i < lis.length; i++) {
                //给每一个小li自定义属性,index
                lis[i].setAttribute('index', i);
                //注册事件
                lis[i].onclick = function () {
                    //先清除所有样式
                    for (var i = 0; i < lis.length; i++) {
                        lis[i].className = '';
                    }
                    //点击时,加class样式
                    this.className = 'current';
                    var index = this.getAttribute('index');

                    for (var i = 0; i < items.length; i++) {
                        items[i].style.display = 'none';
                    }

                    items[index].style.display = 'block';
                };
            }
        </script>
    </body>
</html>

结果:

jQuery思路:

<script>
        $(function() {
            // 1.点击上部的li,当前li 添加current类,其余兄弟移除类
            $(".tab_list li").click(function() {
                // 链式编程操作(点击加入类,其余的清除类样式)
                $(this).addClass("current").siblings().removeClass("current");
                // 2.点击的同时,得到当前li 的索引号
                var index = $(this).index();
                console.log(index);
                // 3.让下部里面相应索引号的item显示,其余的item隐藏
                $(".tab_con .item").eq(index).show().siblings().hide();
            });
        })
</script>

结果:

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持我们。

(0)

相关推荐

  • javascript单页面手势滑屏切换原理详解

    H5单页面手势滑屏切换是采用HTML5 触摸事件(Touch) 和 CSS3动画(Transform,Transition)来实现的,效果图如下所示,本文简单说一下其实现原理和主要思路. 1.实现原理 假设有5个页面,每个页面占屏幕100%宽,则创建一个DIV容器viewport,将其宽度(width) 设置为500%,然后将5个页面装入容器中,并让这5个页面平分整个容器,最后将容器的默认位置设置为0,overflow设置为hidden,这样屏幕就默认显示第一个页面. <div id="v

  • jQuery实现切换页面过渡动画效果

    直接为大家介绍制作过程,希望大家可以喜欢. HTML结构 该页面切换特效的HTML结构使用一个<main>元素来作为页面的包裹元素,div.cd-cover-layer用于制作页面切换时的遮罩层,div.cd-loading-bar是进行ajax加载时的loading进度条. <main> <div class="cd-index cd-main-content"> <div> <h1>Page Transition</

  • JavaScript实现鼠标滚轮控制页面图片切换功能示例

    本文实例讲述了JavaScript实现鼠标滚轮控制页面图片切换功能.分享给大家供大家参考,具体如下: 鼠标上的滚轮是一个不错的东东,为什么这么说,因为它能帮助我们快速的浏览网页,快速的进行长篇文章的阅读.对于web前端的我们来说又怎么能不注重这个鼠标滚轮呢,那么它能如何让用户更好的浏览网页呢? 最常见就是图片的切换了,能通过滚动滚轮进行图片的浏览,省得用户还要去点下一张,做这种繁琐的步骤.来看个简单的例子吧. <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML

  • 基于JS实现翻书效果的页面切换样式

    本文给大家分享一段代码,基于js代码实现的翻书效果的页面切换样式,具体代码如下所示: <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html xmlns="http://www.w3.org/1999/xhtml" > <

  • jquery结合html实现中英文页面切换

    目的:前端(只采用thymeleaf模板+jquery) 实现国际化 由:前端没有采用流行的vue.js angular 等框架,纯html不可以引用js中定义的常量 采用jquery赋值(维护2个模板(中,英)界面) 直接out 方案:采用https://github.com/coderifous/jquery-localize/ 一个本地化插件 a jQuery plugin that makes it easy to internationalize your web site 步骤: 1

  • 简单实现js页面切换功能

    本文为大家介绍了js页面换肤功能处理原理  (*需要在有服务器环境下测试使用*),供大家参考,具体内容如下 原理: 1.换肤是让页面采用不用的样式设置 2.我们把要换肤的地方根据不用皮肤做成多个样式表文件 3.获取link的id 4.修改link的href属性改变样式表 5.采用了不用样式表,就是使用对应皮肤样式 6.利用cookie技术用户原则,用户再次打开页面也会采用上次选用皮肤 7.读取cookie要在页面载入开始,保证对应皮肤css提前加载 <html> <head> &l

  • echarts同一页面中四个图表切换的js数据交互方法示例

    需求: 点击tab页,切换四个不同的图表,ajax向后台请求数据,展示在四个不同的图表中. 其余的就不多说,直接上js代码了 示例代码: $(function() { $("#heart").on("click", function() { $('.heart-car').show(); $('.sleep-car').hide(); $('.breathe-car').hide(); $('.sport-car').hide(); }); $("#bre

  • js实现单一html页面两套css切换代码

    今天研究了一下JS的用setAttribute方法实现一个页面两份样式表的效果,具体方法如下: 第一步:在连接样式表的元素里定义一个id,例如 复制代码 代码如下: <link href="1.css" rel="stylesheet" type="text/css" id="css"> 我定义的id是css. 第二步:写一个js函数,代码如下: 复制代码 代码如下: <script type="t

  • js实现的鼠标滚轮滚动切换页面效果(类似360默认页面滚动切换效果)

    本文实例讲述了js实现的鼠标滚轮滚动切换页面效果的方法.分享给大家供大家参考,具体如下: 运行效果截图如下: 具体代码如下: <!DOCTYPE html> <html> <head> <title>wheel</title> <meta http-equiv="Content-Type" content="text/html;charset=UTF-8" /> <script type=

  • 使用AngularJS实现可伸缩的页面切换的方法

    AngularJS 1.2 通过引入基于纯CSS class的切换和动画,在一个单页面应用创建页面到页面的切换变得更加的容易.只需要使用一个ng-view,让我们来看一下,一个引入众多的不同切换的可伸缩方法,以及指定的每个页面如何切入和切出. 演示: http://embed.plnkr.co/PqhvmW/preview 首先,标记: <div class="page-container"> <div ng-view class="page-view&qu

随机推荐