js-手动伸缩栏

效果展示:

先说效果-点击div盒子高度会伸缩值100px-再点击一次回到初始值;

1、结构搭建

先写4个盒子,给盒子简单设置点样式

    <div></div>  
    <div></div> 
    <div></div> 
    <div></div> 
div{
    width: 500px;
    height: 40px;
    background: pink;
    margin-bottom: 10px;
};

2、写点击变换高度的部分

var oDiv = document.getElementsByTagName("div");//获取div

for(var i = 0;i<oDiv.length;i++){ //利用for循环遍历所有的div
    oDiv[i].onclick = function() {//给所有的div绑定点击注册事件
        //这个地方需要 用this获取具体被点击的元素
        this.style.height = 100 + "px";
    }
}

上面部分 只能让指定被点击的div高度变成100,如果想要在点击一下变回去 我们这个时候需要加个变量作为判断条件了

但是这个时候就会遇到个新的问题,在切换元素的时候 会显示无效果

这个时候可以使用自定义标签属性了

3、最终js代码部分

var oDiv = document.getElementsByTagName("div");
for(var i = 0;i<oDiv.length;i++){
            oDiv[i].tag = true;
            oDiv[i].onclick = function(){
                //4.判断对应标签的状态是true还是false
                if(this.tag == true){
                   //5.给被点击的div设置高度为100
                   this.style.height = "100px"; 
                   this.tag = false;
                }else{
                    this.style.height = "40px"; 
                    this.tag = true;
                }
            }
        }
  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
回答: 在uniapp中,可以使用以下代码来实现伸缩搜索的效果: ```css overflow: hidden; word-break: break-all; text-overflow: ellipsis; display: -webkit-box; -webkit-box-orient: vertical; -webkit-line-clamp: 1; ``` 这段代码使用了一系列的CSS属性来控制搜索框的显示效果。其中,`overflow: hidden`用于隐藏溢出的内容,`word-break: break-all`允许在单词内换行,`text-overflow: ellipsis`用于在溢出的部分显示省略号,`display: -webkit-box`将对象作为伸缩盒子模型显示,`-webkit-box-orient: vertical`设置子元素的排列方式为垂直方向,`-webkit-line-clamp: 1`指定显示的行数为1行。 另外,如果你想在动态设置导航搜索框的内容,可以使用以下代码: ```javascript const setNavSearchInput = (keyword) => { // #ifdef APP-PLUS let webView = this.$mp.page.$getAppWebview(); webView.setTitleNViewSearchInputText(keyword); // #endif // #ifdef H5 let inputSearch = document.querySelector('.uni-input-input\[type=search\]'); var evt = new InputEvent('input', { inputType: 'insertText', data: keyword, dataTransfer: null, isComposing: false }); if (inputSearch) { inputSearch.value = keyword; inputSearch.dispatchEvent(evt); } // #endif } ``` 这段代码中,`setNavSearchInput`函数用于动态设置导航搜索框的内容。在APP-PLUS平台下,通过`setTitleNViewSearchInputText`方法来设置导航搜索框的内容。在H5平台下,通过获取搜索框元素并触发`input`事件来设置搜索框的内容。 希望以上信息对你有帮助。 #### 引用[.reference_title] - *1* [溢出显示省略号、uni-app动态设置导航搜索框内容](https://blog.csdn.net/qq_42714690/article/details/105491119)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v91^insertT0,239^v4^insert_chatgpt"}} ] [.reference_item] [ .reference_list ]

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值