2016-09-30 115 views
1

我有兩個不同的div翻轉選項。但是每一個都與另一個重疊。如何解決它。問題Div觸發重疊問題

$(document).ready(function() { 
 
    $('.vclick').click(function() { 
 
    $(this).closest('.vflipper').toggleClass('vflip'); 
 
    }); 
 
}); 
 
$(function() { 
 
    $(":checkbox").change(function() { 
 
    var arr = $(":checkbox:checked").map(function() { 
 
     return $(this).next().html(); 
 
    }).get(); 
 
    $("#lbl1").html(arr.join(',')); 
 
    }); 
 
}); 
 
$(document).ready(function() { 
 
    $('.vclick1').click(function() { 
 
    $(this).closest('.vflipper1').toggleClass('vflip1'); 
 
    }); 
 
}); 
 
$(function() { 
 
    $(":checkbox").change(function() { 
 
    var arr = $(":checkbox:checked").map(function() { 
 
     return $(this).next().html(); 
 
    }).get(); 
 
    $("#lbl2").html(arr.join(',')); 
 
    }); 
 
});
#newTab { 
 
    height: 50px; 
 
    width: 100%; 
 
    position: relative; 
 
} 
 
#model { 
 
    height: 50px; 
 
    width: 100%; 
 
    position: relative; 
 
} 
 
.vfront { 
 
    background-color: lightgrey; 
 
} 
 
.vfront1 { 
 
    background-color: lightgrey; 
 
} 
 
.vback { 
 
    background-color: lightblue; 
 
} 
 
.vback1 { 
 
    background-color: lightblue; 
 
} 
 
.vflipper { 
 
    position: absolute; 
 
    perspective: 600px; 
 
    -webkit-perspective: 600px; 
 
    -moz-perspective: 600px; 
 
} 
 
.vflipper1 { 
 
    position: absolute; 
 
    perspective: 600px; 
 
    -webkit-perspective: 600px; 
 
    -moz-perspective: 600px; 
 
} 
 
.vflipper .vfront, 
 
.vflipper .vback { 
 
    -webkit-transform-style: preserve-3d; 
 
    -moz-transform-style: preserve-3d; 
 
    transform-style: preserve-3d; 
 
    -webkit-backface-visibility: hidden; 
 
    -moz-backface-visibility: hidden; 
 
    backface-visibility: hidden; 
 
    -o-transition: transform .6s ease-in-out; 
 
    -moz-transition: transform .6s ease-in-out; 
 
    -webkit-transition: transform .6s ease-in-out; 
 
    transition: transform .6s ease-in-out; 
 
} 
 
.vflipper1 .vfront1, 
 
.vflipper1 .vback1 { 
 
    -webkit-transform-style: preserve-3d; 
 
    -moz-transform-style: preserve-3d; 
 
    transform-style: preserve-3d; 
 
    -webkit-backface-visibility: hidden; 
 
    -moz-backface-visibility: hidden; 
 
    backface-visibility: hidden; 
 
    -o-transition: transform .6s ease-in-out; 
 
    -moz-transition: transform .6s ease-in-out; 
 
    -webkit-transition: transform .6s ease-in-out; 
 
    transition: transform .6s ease-in-out; 
 
} 
 
/* vertical flipping stuff */ 
 

 
.vflipper1 { 
 
    -webkit-transform-origin: 100% center; 
 
    -moz-transform-origin: 100% center; 
 
    -ms-transform-origin: 100% center; 
 
    transform-origin: 100% center; 
 
} 
 
.vflipper1 .vfront1 { 
 
    position: absolute; 
 
    top: 0px; 
 
    left: 0px; 
 
    z-index: 200; 
 
    width: inherit; 
 
    height: inherit; 
 
} 
 
.vflipper1.vflip1 .vfront1 { 
 
    z-index: 900; 
 
    -webkit-transform: rotateX(180deg); 
 
    -moz-transform: rotateX(180deg); 
 
    transform: rotateX(180deg); 
 
} 
 
.vflipper1 .vback1 { 
 
    position: absolute; 
 
    top: 0px; 
 
    left: 0px; 
 
    z-index: 800; 
 
    width: inherit; 
 
    height: 150px; 
 
    -webkit-transform: rotateX(-180deg); 
 
    -moz-transform: rotateX(-180deg); 
 
    transform: rotateX(-180deg); 
 
} 
 
.vflipper1.vflip1 .vback1 { 
 
    z-index: 1000; 
 
    -webkit-transform: rotateX(0deg); 
 
    -moz-transform: rotateX(0deg); 
 
    transform: rotateX(0deg); 
 
} 
 
.vflipper { 
 
    -webkit-transform-origin: 100% center; 
 
    -moz-transform-origin: 100% center; 
 
    -ms-transform-origin: 100% center; 
 
    transform-origin: 100% center; 
 
} 
 
.vflipper .vfront { 
 
    position: absolute; 
 
    top: 0px; 
 
    left: 0px; 
 
    z-index: 200; 
 
    width: inherit; 
 
    height: inherit; 
 
} 
 
.vflipper.vflip .vfront { 
 
    z-index: 900; 
 
    -webkit-transform: rotateX(180deg); 
 
    -moz-transform: rotateX(180deg); 
 
    transform: rotateX(180deg); 
 
} 
 
.vflipper .vback { 
 
    position: absolute; 
 
    top: 0px; 
 
    left: 0px; 
 
    z-index: 800; 
 
    width: inherit; 
 
    height: 150px; 
 
    -webkit-transform: rotateX(-180deg); 
 
    -moz-transform: rotateX(-180deg); 
 
    transform: rotateX(-180deg); 
 
} 
 
.vflipper.vflip .vback { 
 
    z-index: 1000; 
 
    -webkit-transform: rotateX(0deg); 
 
    -moz-transform: rotateX(0deg); 
 
    transform: rotateX(0deg); 
 
} 
 
#lbl { 
 
    display: inline; 
 
} 
 
#lb2 { 
 
    display: inline; 
 
}
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script> 
 
<script src="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.7/js/bootstrap.min.js"></script> 
 
<link href="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.7/css/bootstrap.min.css" rel="stylesheet" /> 
 
<!DOCTYPE html> 
 
<html lang="en"> 
 

 
<head> 
 
    <meta charset="UTF-8"> 
 
    <title>Title</title> 
 
</head> 
 

 
<body> 
 
    <div id="newTab" class="vflipper"> 
 
    <div class="vclick vfront"> 
 
     <div class="pull-left">Model :</div> 
 
     <label id="lbl1"></label> 
 
    </div> 
 
    <div class="vback "> 
 
     <input type="checkbox" class="chk" /> 
 
     <label>One</label> 
 
     <input type="checkbox" class="chk" /> 
 
     <label>Two</label> 
 
     <input type="checkbox" class="chk" /> 
 
     <label>Three</label> 
 
     <input type="checkbox" class="chk" /> 
 
     <label>Four</label> 
 
     <button type="button" class="vclick btn btn-primary">Save</button> 
 
    </div> 
 
    </div> 
 
    <br> 
 
    <div id="model" class="vflipper1"> 
 
    <div class="vclick1 vfront1"> 
 
     <div class="pull-left">Model :</div> 
 
     <label id="lbl2"></label> 
 
    </div> 
 
    <div class="vback1 "> 
 
     <input type="checkbox" class="chk" /> 
 
     <label>One</label> 
 
     <input type="checkbox" class="chk" /> 
 
     <label>Two</label> 
 
     <input type="checkbox" class="chk" /> 
 
     <label>Three</label> 
 
     <input type="checkbox" class="chk" /> 
 
     <label>Four</label> 
 
     <button type="button" class="vclick1 btn btn-primary">Save</button> 
 
    </div> 
 
    </div> 
 
</body> 
 

 
</html>

預覽: -

enter image description here

翻轉第一個div之後(模型)

enter image description here

這裏問題是,當我翻轉第一個Div時,它被完美翻轉,但第二個div顯示在翻轉的第一個div的頂部。但翻轉的div應該在第二個div上面。

+0

仍然面臨着同樣的問題。我無法解決它。您的幫助非常感謝。 – Ravikanth

回答

0

較低的vflipper1翻蓋與最上面的一個重疊,原因在於您將相對原始元素進行了相對定位,然後將翻轉版本完全置於其中。因此,由於第一個未翻轉的div的高度小於翻轉的版本,所以它們將顯示爲重疊,因爲從第二個未翻轉的頂部翻轉開始。

注意當您將#newTab和#model div的高度調整爲150px而不是50px(翻轉版本的高度)時會發生什麼情況。這將使事情正確排列。

$(document).ready(function() { 
 
    $('.vclick1').click(function() { 
 
    $(this).closest('.vflipper1').toggleClass('vflip1'); 
 
    }); 
 

 
    $(":checkbox").change(function() { 
 
    var arr = $(":checkbox:checked").map(function() { 
 
     return $(this).next().html(); 
 
    }).get(); 
 
    $("#lbl2").html(arr.join(',')); 
 
    }); 
 

 
    $(":checkbox").change(function() { 
 
    var arr = $(":checkbox:checked").map(function() { 
 
     return $(this).next().html(); 
 
    }).get(); 
 
    $("#lbl1").html(arr.join(',')); 
 
    }); 
 

 
    $('.vclick').click(function() { 
 
    $(this).closest('.vflipper').toggleClass('vflip'); 
 
    }); 
 
});
#newTab { 
 
    height: 150px; 
 
    width: 100%; 
 
    position: relative; 
 
} 
 
#model { 
 
    height: 150px; 
 
    width: 100%; 
 
    position: relative; 
 
} 
 
.vfront { 
 
    background-color: lightgrey; 
 
} 
 
.vfront1 { 
 
    background-color: lightgrey; 
 
} 
 
.vback { 
 
    background-color: lightblue; 
 
} 
 
.vback1 { 
 
    background-color: lightblue; 
 
} 
 
.vflipper { 
 
    position: absolute; 
 
    perspective: 600px; 
 
    -webkit-perspective: 600px; 
 
    -moz-perspective: 600px; 
 
    height: 150px; 
 
} 
 
.vflipper1 { 
 
    position: absolute; 
 
    perspective: 600px; 
 
    -webkit-perspective: 600px; 
 
    -moz-perspective: 600px; 
 
} 
 
.vflipper .vfront, 
 
.vflipper .vback { 
 
    -webkit-transform-style: preserve-3d; 
 
    -moz-transform-style: preserve-3d; 
 
    transform-style: preserve-3d; 
 
    -webkit-backface-visibility: hidden; 
 
    -moz-backface-visibility: hidden; 
 
    backface-visibility: hidden; 
 
    -o-transition: transform .6s ease-in-out; 
 
    -moz-transition: transform .6s ease-in-out; 
 
    -webkit-transition: transform .6s ease-in-out; 
 
    transition: transform .6s ease-in-out; 
 
} 
 
.vflipper1 .vfront1, 
 
.vflipper1 .vback1 { 
 
    -webkit-transform-style: preserve-3d; 
 
    -moz-transform-style: preserve-3d; 
 
    transform-style: preserve-3d; 
 
    -webkit-backface-visibility: hidden; 
 
    -moz-backface-visibility: hidden; 
 
    backface-visibility: hidden; 
 
    -o-transition: transform .6s ease-in-out; 
 
    -moz-transition: transform .6s ease-in-out; 
 
    -webkit-transition: transform .6s ease-in-out; 
 
    transition: transform .6s ease-in-out; 
 
} 
 
/* vertical flipping stuff */ 
 

 
.vflipper1 { 
 
    -webkit-transform-origin: 100% center; 
 
    -moz-transform-origin: 100% center; 
 
    -ms-transform-origin: 100% center; 
 
    transform-origin: 100% center; 
 
} 
 
.vflipper1 .vfront1 { 
 
    position: absolute; 
 
    top: 0px; 
 
    left: 0px; 
 
    z-index: 200; 
 
    width: inherit; 
 
    height: inherit; 
 
} 
 
.vflipper1.vflip1 .vfront1 { 
 
    z-index: 900; 
 
    -webkit-transform: rotateX(180deg); 
 
    -moz-transform: rotateX(180deg); 
 
    transform: rotateX(180deg); 
 
} 
 
.vflipper1 .vback1 { 
 
    position: absolute; 
 
    top: 0; 
 
    left: 0; 
 
    z-index: 800; 
 
    width: inherit; 
 
    height: 150px; 
 
    -webkit-transform: rotateX(-180deg); 
 
    -moz-transform: rotateX(-180deg); 
 
    transform: rotateX(-180deg); 
 
} 
 
.vflipper1.vflip1 .vback1 { 
 
    z-index: 1000; 
 
    -webkit-transform: rotateX(0deg); 
 
    -moz-transform: rotateX(0deg); 
 
    transform: rotateX(0deg); 
 
} 
 
.vflipper { 
 
    -webkit-transform-origin: 100% center; 
 
    -moz-transform-origin: 100% center; 
 
    -ms-transform-origin: 100% center; 
 
    transform-origin: 100% center; 
 
} 
 
.vflipper .vfront { 
 
    position: absolute; 
 
    top: 0px; 
 
    left: 0px; 
 
    z-index: 200; 
 
    width: inherit; 
 
    height: inherit; 
 
} 
 
.vflipper.vflip .vfront { 
 
    z-index: 900; 
 
    -webkit-transform: rotateX(180deg); 
 
    -moz-transform: rotateX(180deg); 
 
    transform: rotateX(180deg); 
 
} 
 
.vflipper .vback { 
 
    position: absolute; 
 
    top: 0; 
 
    left: 0; 
 
    z-index: 800; 
 
    width: inherit; 
 
    height: 150px; 
 
    -webkit-transform: rotateX(-180deg); 
 
    -moz-transform: rotateX(-180deg); 
 
    transform: rotateX(-180deg); 
 
} 
 
.vflipper.vflip .vback { 
 
    z-index: 1000; 
 
    -webkit-transform: rotateX(0deg); 
 
    -moz-transform: rotateX(0deg); 
 
    transform: rotateX(0deg); 
 
} 
 
#lbl { 
 
    display: inline; 
 
} 
 
#lb2 { 
 
    display: inline; 
 
}
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.11.1/jquery.min.js"></script> 
 

 
<div id="newTab" class="vflipper"> 
 
    <div class="vclick vfront"> 
 
    <div class="pull-left">Model :</div> 
 
    <label id="lbl1"></label> 
 
    </div> 
 
    <div class="vback "> 
 
    <input type="checkbox" class="chk" /> 
 
    <label>One</label> 
 
    <input type="checkbox" class="chk" /> 
 
    <label>Two</label> 
 
    <input type="checkbox" class="chk" /> 
 
    <label>Three</label> 
 
    <input type="checkbox" class="chk" /> 
 
    <label>Four</label> 
 
    <button type="button" class="vclick btn btn-primary">Save</button> 
 
    </div> 
 
</div> 
 

 
<br> 
 

 
<div id="model" class="vflipper1"> 
 
    <div class="vclick1 vfront1"> 
 
    <div class="pull-left">Model :</div> 
 
    <label id="lbl2"></label> 
 
    </div> 
 
    <div class="vback1 "> 
 
    <input type="checkbox" class="chk" /> 
 
    <label>One</label> 
 
    <input type="checkbox" class="chk" /> 
 
    <label>Two</label> 
 
    <input type="checkbox" class="chk" /> 
 
    <label>Three</label> 
 
    <input type="checkbox" class="chk" /> 
 
    <label>Four</label> 
 
    <button type="button" class="vclick1 btn btn-primary">Save</button> 
 
    </div> 
 
</div>

+0

: - 在這裏,問題是當我減少高度和翻轉第一個div,它翻轉,但第二個div顯示在翻轉的div頂部。在這裏,我的問題是當我翻轉第一個div時,翻轉的div應該在第二個div上(不翻轉)。同樣的行動也適用於第二格。 – Ravikanth