私は自分の望む効果を与えるコードとして次のものを持っています。私は私がするたびに、私はハードコードにそれを持っていないように、座標の配列を取り込み、同じことを行うための関数を書くことができているかどうかを知りたいJavaScriptとCSSクリップパス属性を使用してポリゴンを描画します
#overlay {
background-color: rgba(0, 0, 0, 0.66);
position: absolute;
z-index: 1;
top: 0;
left: 0;
width: 100%;
height: 100%;
clip-path: polygon(0% 0%, /*exterior top left*/
0% 100%, /*exterior bottom left*/
220px 100%, /*overlapping point exterior 1*/
220px 50%, /*overlapping point interior 1*/
220px 310px, /*interior top left*/
683px 310px, /*interior top right*/
683px 450px, /*interior bottom right*/
220px 450px, /*overlapping point interior 2*/
220px 100%, /*overlapping point exterior 2*/
100% 100%, /*exterior bottom right*/
100% 0%);
/*exterior top right*/
}
<body>
<div>Some background</div>
<div id="overlay">
</div>
<div id="closeButton">
<p>
Close
</p>
</div>
<script src="https://ajax.googleapis.com/ajax/libs/jquery/3.2.1/jquery.min.js"></script>
<script>
function main() {
$("#overlay").hide();
$("#overlay").fadeIn(500);
$("#closeButton").on("click", function() {
$("#overlay").toggle();
});
}
$(document).ready(main);
</script>
</body>
ウィンドウを移動したい。 closeButton
を押すとトリガーとなります。
?閉じるボタンをクリックするとクリップのパスが変わることがありますか?もう一度新しい値を書きたくないのですか? –
@MarouenMhiriはい閉じるボタンをクリックした後にクリップのパスを変更したい。 正確ではありません。私は、配列内に異なるポリゴン座標の束を格納し、それらを使用して1つのクリップパスのパスを変更することができます。私はたくさんのクリップパスを持つdivを作ったり、クラス/ idの束を作ったり、CSSでそれを変更したりしないようにしたいと思います。 –
しかし、新しい値は古いものに依存していますか? –