首页 > 双击div,使得变成两个宽度等分的div

双击div,使得变成两个宽度等分的div

<style>
.click{

width:500px;

}
</style>
<div class="container">

<div class="click"></div>

</div>
双击内部的div会变成两个宽度等分的div(变成两个250px的div)


<!DOCTYPE html>
<html lang="en">
    <head>
        <meta charset="utf-8">
    </head>
    <style>
    .div1{
        width: 400px;
        height: 400px;
        border:1px solid red;
    }
    body{
        overflow: hidden;
        width:100%;
        height:100%;
    }
    .floatLeft{
        float: left;
    }
    </style>
    <body>
    <p>hahah</p>
    <h1>哈哈</h1>
    <div class="div1"></div>
    <script src="jquery-core.src.js"></script>
    <script>
        (function(win,doc,$){
            var target1 = 0;
            var orginalTar = {};
            var oldObject = [];
            // 獲取當前div的寬高數量
            function getInformation(){
                var orginal1 = {};
                orginal1.width = $('div').width();
                orginal1.height = $('div').height();
                orginal1.num = $('div').length;
                for(var i = 0;i< orginal1.num;i++){
                    oldObject[i] = $('div')[i];
                }
                return orginal1;
            }
            // 獲取生成的div的寬高以及數量
            function operate(obj){
                var targetObj = {};
                targetObj.width = obj.width / 2;
                targetObj.height = obj.height / 2;
                targetObj.num = obj.num * 2;
                return targetObj;
            }
            // 生成相對應的div
            function reworkDiv(obj){
                for(var i = 0;i < obj.num; i++){
                    var target2 = document.createElement("div");
                    $(target2).css({
                        "width" : obj.width + "px",
                        "height"  : obj.height + "px"
                    });
                    $(target2).addClass("floatLeft");
                    if (i % 2){
                        $(target2).css("border","1px solid red");
                    }else{
                        $(target2).css("border","1px solid blue");
                    }
                    $(target2).appendTo($('body'));
                }
            }
            // 移除舊的div
            function removeOld(obj){
                for(var i = 0 ;i < obj.length; i++){
                    $(obj)[i].remove();
                }
            }
            
            $("body").on("click",function(){
                orginalTar = getInformation();
                target1 = operate(orginalTar);
                reworkDiv(target1);
                removeOld(oldObject);

            })
        })(window,document,jQuery);
    </script>
    </body>
</html>

这个是很简单的,楼主要功能自己加。


可以重写.click设置flex为1,父级设置display:flex;然后双击的时候调用clone复制div再插入就好了


新手提个笨办法,三个DIV前后叠加,点击一个大的DIV之后就隐藏,同时两个小的DIV显现即可。CSS的{display:none}


$(".click").click(function(){
   var html = "<div style='width:250px;'></div><div style='width:250px;'></div>";
   $(this).parent().html(html);
})
【热门文章】
【热门文章】