javascript - 双击div,使得变成两个宽度等分的div
高洛峰
高洛峰 2017-04-10 18:09:31
[JavaScript讨论组]

<style>
.click{

width:500px;

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

<p class="click"></p>

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

高洛峰
高洛峰

拥有18年软件开发和IT教学经验。曾任多家上市公司技术总监、架构师、项目经理、高级软件工程师等职务。 网络人气名人讲师,...

全部回复(4)
伊谢尔伦

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

PHPz

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

高洛峰
$(".click").click(function(){
   var html = "<p style='width:250px;'></p><p style='width:250px;'></p>";
   $(this).parent().html(html);
})
PHP中文网
<!DOCTYPE html>
<html lang="en">
    <head>
        <meta charset="utf-8">
    </head>
    <style>
    .p1{
        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>
    <p class="p1"></p>
    <script src="jquery-core.src.js"></script>
    <script>
        (function(win,doc,$){
            var target1 = 0;
            var orginalTar = {};
            var oldObject = [];
            // 獲取當前p的寬高數量
            function getInformation(){
                var orginal1 = {};
                orginal1.width = $('p').width();
                orginal1.height = $('p').height();
                orginal1.num = $('p').length;
                for(var i = 0;i< orginal1.num;i++){
                    oldObject[i] = $('p')[i];
                }
                return orginal1;
            }
            // 獲取生成的p的寬高以及數量
            function operate(obj){
                var targetObj = {};
                targetObj.width = obj.width / 2;
                targetObj.height = obj.height / 2;
                targetObj.num = obj.num * 2;
                return targetObj;
            }
            // 生成相對應的p
            function reworkp(obj){
                for(var i = 0;i < obj.num; i++){
                    var target2 = document.createElement("p");
                    $(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'));
                }
            }
            // 移除舊的p
            function removeOld(obj){
                for(var i = 0 ;i < obj.length; i++){
                    $(obj)[i].remove();
                }
            }
            
            $("body").on("click",function(){
                orginalTar = getInformation();
                target1 = operate(orginalTar);
                reworkp(target1);
                removeOld(oldObject);

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

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

热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板
关于我们 免责申明 意见反馈 讲师合作 广告合作 最新更新 English
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号 技术交流群
PHP中文网订阅号
每天精选资源文章推送
PHP中文网APP
随时随地碎片化学习

Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号