easyui学习笔记11—tab标签页和鼠标动作

这篇我们看看标签页是怎么实现的,默认情况下要靠点击切换标签,也可以用鼠标切换标签选项,就是鼠标放在标签上切换。

首先看看引用的资源文件

1.资源文件

<head>
    <meta charset="UTF-8" />
    <title>Basic Tabs - jQuery EasyUI Demo</title>
    <link rel="stylesheet" href="jquery-easyui-1.3.5/themes/default/easyui.css" />
    <link rel="stylesheet" href="jquery-easyui-1.3.5/themes/icon.css" />
    <link rel="stylesheet" href="jquery-easyui-1.3.5/demo/demo.css" />
    <script type="text/javascript" src="jquery-easyui-1.3.5/jquery.min.js"></script>
    <script type="text/javascript" src="jquery-easyui-1.3.5/jquery.easyui.min.js"></script>
</head>

这里我们看到还是这几个文件,这里要说一下jquery.easyui.min.js这个文件是包含所有easyui标签功能的,D:Seriousphpdeveasyuijquery-easyui-1.3.5src这个路径下文件诸如jquery.draggable.js,jquery.linkbutton.js这样的js只是包含单一功能的文件,比jquery.easyui.min.js这个要小。

2.html代码

<body>
    <h2>Basic Tabs</h2>
    <div class="demo-info">
        <div class="demo-tip icon-tip"></div>
        <div>Click tab strip to swap tab panel content.</div>
    </div>
    <div style="margin:10px 0;"></div>
    <div id="tt" class="easyui-tabs" style="700px;height:auto;">
        <div title="About" style="padding:10px;">
            <p style="font-size:14px;">jQuery EasyUI framework helps you build your web pages easily.</p>
                <ul>
                    <li>easyui is a collection of user-interface plugin based on jQuery.</li>
                    <li>easyui provides essential functionality for building modem, interactive, javascript applications.</li>
                    <li>using easyui you don't need to write many javascript code, you usually defines user-interface by writing some HTML markup.</li>
                    <li>complete framework for HTML5 web page.</li>
                    <li>easyui save your time and scales while developing your products.</li>
                    <li>easyui is very easy but powerful.</li>
                </ul>
        </div>
        <div title="My Documnets" style="padding:10px;">
            <ul class="easyui-tree" data-options="url:'jquery-easyui-1.3.5/demo/tabs/tree_data1.json',method:'get',animate:true"></ul>
        </div>
        <div title="Help" data-options="iconCls:'icon-help',closable:true" style="padding:10px;">
            This is the help content.
        </div>
    </div>
    <script type="text/javascript">
        $(function(){
            var tabs = $("#tt").tabs().tabs('tabs');
            for(var  i=0; i<tabs.length; i++){
                tabs[i].panel('options').tab.unbind().bind('mouseenter',{index:i},function(e){
                    $('#tt').tabs('select',e.data.index);
                });
            }
        })
    </script>
</body>

这个tabs功能其实也很简单,就是在一个div中包含几个嵌套的div就可以了。class="easyui-tabs"这个就是最主要的功能了,easyui可以将这个div下面的div都识别为标签选项。注意style="700px;height:auto;"这个属性,高度是auto的话标签的高度可以根据内容自动调整,如果设置为style="700px;height:300px;"这样固定高度的话高度就固定为300px。

注意第二个标签内容是一个树形结构,并且数据还是从其他的文件中取得的,<ul class="easyui-tree" data-options="url:'jquery-easyui-1.3.5/demo/tabs/tree_data1.json',method:'get',animate:true"></ul>这个的意思是使用get方法从jquery-easyui-1.3.5/demo/tabs/tree_data1.json这个文件中取得数据源。来看看那这个文件是什么样子的。

这个文件就存放一个json对象,这里不再深究这个树是怎么实现的。

最后一个标签有点特殊,可以关闭,data-options="iconCls:'icon-help',closable:true"这里设置了一个特性可以关闭。

3.js代码

    <script type="text/javascript">
        $(function(){
            var tabs = $("#tt").tabs().tabs('tabs');
            for(var  i=0; i<tabs.length; i++){
                tabs[i].panel('options').tab.unbind().bind('mouseenter',{index:i},function(e){
                    $('#tt').tabs('select',e.data.index);
                });
            }
        })
    </script>

最后看看js标签实现的鼠标放上去切换的动作,首先获取到所有的标签页,然后对每个标签页绑定mouseenter动作,这个动作就是选中当前标签,$('#tt').tabs('select',e.data.index);绑定动作select,第二个参数是当前标签的index。

原文地址:https://www.cnblogs.com/tylerdonet/p/3533589.html