bootstrap 折叠(Collapse)插件只能展开不能折叠

bootstrap 折叠(Collapse)插件只能展开不能折叠,第1张

Bootstrap的下拉菜单一直都是需要点击,才会显示出来,可能不太符合大家的使用习惯,可能有的用户都不知道这个可以点击,国外的一个开发者写了一个插件,能将点击事件切换为Hover鼠标悬停事件,这样节约了用户的 *** 作和时间。BootstrapHoverDropdown是一个非官方的Bootstrap插件,使Bootstrap下拉菜单激活悬停和提供更好的用户体验,当前版本支持最新版的Bootstrap3,所以不必担心使用兼容的问题。安装方法可以下载并解压缩下载包从GitHub。或者,可以下载文件通过鲍尔(JavaScript的包管理系统):这也将自动安装Bootstrap和jQuery插件,如果需要。一旦已经下载的文件,在代码文件最后引入Bootstrap的js文件(S)即可:使用方法就像使用Bootstrap一样,可以激活它,没有任何的JavaScript,只要添加一个数据属性,可以让它自动工作。添加data-hover="dropdown"到标签中,如果已经使用Bootstrap,可以替换Bootstrap的data-toggle="dropdown"。可以通过数据属性设置选项,也可以通过data-delay和data-close-others来设置选项。这是一个标准的例子:AccountMyAccountChangeEmailChangePasswordLogout或者,可以通过JavaScript初始化:$('dropdown-toggle')dropdownHover(options);这没有任何其他配置自启动已经支持此功能菜单也可以。只使用以前使用的标记。只有顶部的标签需要任何特殊标记为我的插件工作。可选参数delay:(可选参数)在毫秒的延迟。这是等待的时间之前关闭下拉当鼠标不再在下拉菜单或按钮/导航项目,激活它。默认值500。instantlyCloseOthers:(可选参数)一个布尔值,如果为真,将立即关闭所有其他下拉菜单的使用当您启动一个新的选择器匹配导航。当你有这么近,可以重叠的很好。默认值true。hoverDelay:(可选参数)开幕前在毫秒的延迟。有些人认为这提高了用户体验,因为它减少了意外的菜单口数量。默认值0。

1、首先输入下方的代码:

<%@ page language="java" pageEncoding="UTF-8"%>

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 401 Transitional//EN">

<html>

<head>

<title>利用jquery给指定的table添加一行、删除一行</title>

<meta >

<meta >

<meta >

<meta >

<meta >

<script type="text/javascript"

src="<%=requestgetContextPath()%>/js/jquery-151js"></script>

<script type="text/javascript">

2、然后在输入下方的代码:

////////添加一行、删除一行封装方法///////

/

为table指定行添加一行

tab 表id

row 行数,如:0->第一行 1->第二行 -2->倒数第二行 -1->最后一行

trHtml 添加行的html代码

/

function addTr(tab, row, trHtml){

//获取table最后一行 $("#tab tr:last")

//获取table第一行 $("#tab tr")eq(0)

//获取table倒数第二行 $("#tab tr")eq(-2)

var $tr=$("#"+tab+" tr")eq(row);

if($trsize()==0){

alert("指定的table id或行数不存在!");

return;

}

$trafter(trHtml);

}

3、然后在输入下方的代码:

function delTr(ckb){

//获取选中的复选框,然后循环遍历删除

var ckbs=$("input[name="+ckb+"]:checked");

if(ckbssize()==0){

alert("要删除指定行,需选中要删除的行!");

return;

}

ckbseach(function(){

$(this)parent()parent()remove();

});

}

/

全选

allCkb 全选复选框的id

items 复选框的name

/

function allCheck(allCkb, items){

$("#"+allCkb)click(function(){

$('[name='+items+']:checkbox')attr("checked", thischecked );

});

}

////////添加一行、删除一行测试方法///////

$(function(){

//全选

allCheck("allCkb", "ckb");

});

function addTr2(tab, row){

var trHtml="<tr align='center'><td width='30%'><input type='checkbox' name='ckb'/>

</td><td width='30%'>地理</td><td width='30%'>60</td></tr>";

addTr(tab, row, trHtml);

}

function delTr2(){

delTr('ckb');

}

4、然后输入下方的代码:

</script>

</head>

<body>

<table border="1px #ooo" id="tab" cellpadding="0"

cellspacing="0" width="30%">

<tr align="center">

<td width="30%"><input id="allCkb" type="checkbox"/></td>

<td width="30%">科目</td>

<td width="30%">成绩</td>

</tr>

<tr align="center">

<td width="30%"></td>

<td width="30%">语文</td>

<td width="30%">80</td>

</tr>

</table>

<input type="button" onclick="addTr2('tab', -1)" value="添加">

<input type="button" onclick="delTr2()" value="删除">

</body>

</html>

5、然后这样就完成了。

查看API文档是最好的方法

1void setOnChildClickListener(ExpandableListViewOnChildClickListener onChildClickListener)

2void setOnGroupClickListener(ExpandableListViewOnGroupClickListener onGroupClickListener)

3void setOnGroupCollapseListener(ExpandableListViewOnGroupCollapseListener onGroupCollapseListener)

4void setOnGroupExpandListener(ExpandableListViewOnGroupExpandListener onGroupExpandListener)

5void setOnItemClickListener(AdapterViewOnItemClickListener l)

6Register a callback to be invoked when an item has been clicked and the caller prefers to receive a ListView-style position instead of a group and/or child position

为‘表2’这个文字(或者按钮什么的都行)注册点击事件,如:Extfly("div")on('click',function(){})

在响应函数里调用gridcollapse()折叠,gridexpand()展开,或者直接一步到位,调用gridtoggleCollapse(),这个函数会自动折叠与展开之间进行交替

$('#docId')panel({ , collapsed:true,//定义该面板初始化为折叠状态 collapsible:true,//定义该面板的折叠按钮为显示状态 //当面板处于‘展开’状态时,点击折叠按钮触发折叠事件 onBeforeCollpase:function(){ //该面板在点击折叠按钮后,执

最近用了一下Vant

Weapp组件库,但是由于我是用mpvue写的,所以自然跟小程序引用不一样,比如我最近引用了vant里面的collapse折叠面板,官网文档里面介绍的使用方法是这样的

1在

appjson

indexjson

中引入组件

"usingComponents":

{

"van-collapse":

"path/to/vant-weapp/dist/collapse/index",

"van-collapse-item":

"path/to/vant-weapp/dist/collapse-item/index"

}

2通过value控制展开的面板列表,activeNames为数组格式

<van-collapse

value="{{

activeNames

}}">

<van-collapse-item

title="有赞微商城"

name="1">

提供多样店铺模板,快速搭建网上商城

</van-collapse-item>

<van-collapse-item

title="有赞零售"

name="2">

网店吸粉获客、会员分层营销、一机多种收款,告别经营低效和客户流失

</van-collapse-item>

<van-collapse-item

title="有赞美业"

name="3"

disabled>

线上拓客,随时预约,贴心顺手的开单收银

</van-collapse-item>

</van-collapse>

Page({

data:

{

activeNames:

['1']

},

onChange(event)

{

thissetData({

activeNames:

eventdetail

});

}

});

但是在mpvue里面不能直接这样引入

下面是我的代码

<van-collapse

:value="activeNames"

@change="onChange($event)">

<van-collapse-item

title="有赞微商城"

name="1">

提供多样店铺模板,快速搭建网上商城

</van-collapse-item>

<van-collapse-item

title="有赞零售"

name="2">

网店吸粉获客、会员分层营销、一机多种收款,告别经营低效和客户流失

</van-collapse-item>

<van-collapse-item

title="有赞美业"

name="3"

disabled>

线上拓客,随时预约,贴心顺手的开单收银

</van-collapse-item>

</van-collapse>

export

default

{

data

()

{

return

{

activeName:

'1'

}

},

methods:

{

onChange

(event)

{

consolelog(event)

thisactiveName

=

eventmpdetail

}

}

}

得把原生小程序使用方式为改为mpvue

使用方式

首先是数据绑定方式

value="{{activeNames}}"

改为

v-bind:value="activeNames"

//或者

:value="activeNames"

然后是事件监听

在van-collapse组件里加个监听事件

@change="onChange($event)"

mpvue中获取event值也与原生小程序有所不同:

onChange(event){

//

获取表单组件filed的值

consolelog(eventmpdetail)

//

注意加入mp

}

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

您可能感兴趣的文章:详解如何搭建mpvue框架搭配vant组件库的小程序项目mpvue+vant

app搭建微信小程序的方法步骤

你判断的时候可以根据高度来判断,类似下面这种判断不,你上拉是不会翻页的,

$(window)on('scroll', function() { var _index =getMin(); var iH = $(window)scrollTop() + $(window)innerHeight(); if (arrT[_index] + 50 < iH) { if(iBtn){ getData();//加载数据 oContainercss("height",arrT[_index] + dHeight + 50); } } })

从源码来看, 绑定在树节点的click事件, 会因为先触发内部的onmousedown, 调用dragStart方法而导致原DOM节点被移除, 继而导致click事件无法触发;

这里在不修改源码的前提下提供两个方案:

1 click事件换成mousedown事件

2 通过对源码onStartEvent方法的分析, 在树节点上放一个button将树节点的"拖拽开始"和"点击事件"分离(注意这里的button需要不同于nestable自己的折叠按钮的样式设定)

举个栗子:

<!DOCTYPE html>

<html lang="en">

<head>

    <meta name="author" content="sleest">

    <meta name="description" content="nestable example for item click, 2017/08/23">

    <title>Document</title>

    <meta charset="utf-8">

    <style>

    dd {

        position: relative;

        display: block;

        list-style: none;

        line-height: 15;

    }

    dd-list {

        display: block;

        position: relative;

        padding: 0;

        list-style: none;

    }

    dd-list dd-list {

        padding-left: 2rem;

    }

    dd-collapsed dd-list {

        display: none;

    }

    dd-item,

    dd-empty,

    dd-placeholder {

        display: block;

        position: relative;

        min-height: 20px;

        line-height: 15;

    }

    dd-handle {

        display: block;

        height: 30px;

        margin: 5px 0;

        padding: 5px 10px;

        border: 1px solid #ccc;

        background: #fff;

        box-sizing: border-box;

        -moz-box-sizing: border-box;

    }

    dd-handle:hover {

        color: #2ea8e5;

    }

    / 注意这里只设置nesttable自带折叠按钮的样式 /

    dd-item>button[data-action] {

        display: block;

        position: relative;

        cursor: pointer;

        float: left;

        width: 25px;

        height: 20px;

        margin: 5px 0;

        padding: 0;

        text-indent: 100%;

        white-space: nowrap;

        overflow: hidden;

        border: 0;

        background: transparent;

        font-size: 12px;

        line-height: 1;

    }

    / 注意这里只设置nesttable自带折叠按钮的样式 /

    dd-item>button[data-action]:before {

        content: '+';

        display: block;

        position: absolute;

        width: 100%;

        text-align: center;

        text-indent: 0;

    }

    dd-item>button[data-action="collapse"]:before {

        content: '-';

    }

    dd-placeholder,

    dd-empty {

        margin: 5px 0;

        padding: 0;

        min-height: 30px;

        background: #f2fbff;

        border: 1px dashed #b6bcbf;

        box-sizing: border-box;

        -moz-box-sizing: border-box;

    }

    dd-empty {

        border: 1px dashed #bbb;

    }

    dd-dragel {

        position: absolute;

        pointer-events: none;

        z-index: 9999;

    }

    dd-dragel>dd-item dd-handle {

        margin-top: 0;

    }

    dd-dragel dd-handle {

        -webkit-box-shadow: 2px 4px 6px 0 rgba(0, 0, 0, 1);

        box-shadow: 2px 4px 6px 0 rgba(0, 0, 0, 1);

    }

    </style>

</head>

<body>

    <div class="dd">

        <ol class="dd-list">

            <li class="dd-item" data-id="1">

                <div class="dd-handle">Item 1</div>

                <button id="btn-demo" style="position: absolute;top: 0;right: 0;">A Button</button>

            </li>

            <li class="dd-item" data-id="2">

                <div class="dd-handle">Item 2</div>

            </li>

            <li class="dd-item" data-id="3">

                <div class="dd-handle">Item 3</div>

                <ol class="dd-list">

                    <li class="dd-item" data-id="4">

                        <div class="dd-handle">Item 4</div>

                    </li>

                    <li class="dd-item" data-id="5">

                        <div class="dd-handle">Item 5</div>

                    </li>

                </ol>

            </li>

        </ol>

    </div>

    <script src=";

结果:

以上就是关于bootstrap 折叠(Collapse)插件只能展开不能折叠全部的内容,包括:bootstrap 折叠(Collapse)插件只能展开不能折叠、JQUERY方法给TABLE动态增加行、Android里面可伸缩拍的ListView怎么添加点击事件 有代码等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/web/10148240.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-05
下一篇 2023-05-05

发表评论

登录后才能评论

评论列表(0条)

保存