gpt4 book ai didi

jquery - 旋转的 Div 点击事件

转载 作者:太空宇宙 更新时间:2023-11-03 17:50:51 24 4
gpt4 key购买 nike

当我点击一个 rotateY 的 div 的背面时,点击会传递到 body 标签内的下一个 div,而不是在我实际点击的 div 上注册。有谁知道这里发生了什么以及如何解决它?

问题可见here .它在 Chrome 中不起作用,特别是。

如果您单击左侧菜单中的 Packages,子菜单将从主菜单后面弹出,然后如果您尝试单击子菜单项,它会关闭菜单,因为浏览器认为您是单击关闭菜单的 off-canvas-wrapper。即使我从 off-canvas-wrapper 中删除了 jquery click 事件,click 事件仍然会通过这个翻转的 div。

感谢您查看此内容。

HTML:

    <div id="menu" class="menu">
<img src="http://test.peoples1.com/wp-content/themes/JointsWP-master/library/images/menu-est-icon.png">
<div class="menu-phone">
<p>800-325-6598</p>
</div>
<ul class="menu-main">
<li class=""><a href="/home">Home</a></li>
<li class=""><a href="/about">About</a></li>
<li class="menu-item-packages"><a href="#">Packages</a></li>
<li class=""><a href="/quick-ownership">Quick<br>Ownership</a></li>
<li><a href="/corporate-housing">Corporate<br>Housing</a></li>
<li><a href="/home-staging">Home<br>Staging</a></li>
<li><a href="/contact">Contact</a></li>
</ul>
</div>

<div class="menu-button">
<a href="#" class="menu-button-icon"> </a>
<a href="#" class="menu-button-text"> MENU</a>
</div>

<div class="card flipped-reset">
<ul class="sub-menu menu-packages">
<li><a href="/packages/economy">Economy</a></li>
<li><a href="/packages/standard">Standard</a></li>
<li><a href="/packages/executive">Executive</a></li>
</ul>
</div>

<div class="off-canvas-wrap" data-offcanvas="">

CSS:

.card {
position: absolute;
top: 0px;
left: 0px;

height: 100%;
width: $menu-width;

z-index: 9;
background-color: $menu-sub-background;

-ms-transform-origin: right;
-webkit-transform-origin: right;
transform-origin: right;
-webkit-transform-style: preserve-3d;
-webkit-transition: 0.8s;
-moz-transform-style: preserve-3d;
-moz-transition: 0.8s;
-ms-transform-style: preserve-3d;
-ms-transition: 0.8s;
-o-transform-style: preserve-3d;
-o-transition: 0.8s;
transform-style: preserve-3d;
transition: 0.8s;

-webkit-perspective: 500;
-webkit-backface-visibility: hidden;

}

.card:after {
background-color: $menu-sub-background;
}

.menu-packages {
height: 100%;
width: 100%;
margin: 0px;
padding-top: 20em;

background-color: $menu-sub-background;
list-style-type: none;

transform:rotatey(-180deg);
-ms-transform:rotatey(-180deg); /* IE 9 */
-moz-transform:rotatey(-180deg); /* Firefox */
-webkit-transform:rotatey(-180deg); /* Safari and Chrome */
-o-transform:rotatey(-180deg); /* Opera */

-webkit-perspective: 1000;
-webkit-backface-visibility: hidden;
}

.flipped {
transform:rotatey(-180deg);
-ms-transform:rotatey(-180deg); /* IE 9 */
-moz-transform:rotatey(-180deg); /* Firefox */
-webkit-transform:rotatey(-180deg); /* Safari and Chrome */
-o-transform:rotatey(-180deg); /* Opera */

perspective: 500px;
}

J查询:

/* card flip */
$(document).ready(function() {

$(".menu-main > li").hover(function() {
if (!($(this).hasClass("active"))) {
$(this).toggleClass("menu-active-item");
}
}, function() {
if (!($(this).hasClass("active"))) {
$(this).toggleClass("menu-active-item");
}
});

//Main Menu Functions
$(".menu-button").click(function(){
$(".menu").toggleClass("menu-active");
$(".menu-button").toggleClass("menu-button-menu-active");
});

//Menu Button Functions
$("div.menu-button").hover(function(){
$(this).toggleClass("menu-button-hover");
$(".menu-button-icon").toggleClass("menu-button-icon-hover");
$(".menu-button-text").toggleClass("menu-button-icon-text");
}, function() {
$(this).toggleClass("menu-button-hover");
$(".menu-button-icon").toggleClass("menu-button-icon-hover");
$(".menu-button-text").toggleClass("menu-button-icon-text");
});

//Sub Menu Functions
$(".menu-item-packages").click(function(){
$(this).addClass("menu-active-item");
if ($(this).hasClass("active")) {
$(this).removeClass("active");
//This function needs to increase the width of the menu wrapper in order for the submenu links to work.
$(".menu-wrapper").width(170);
}
else {
$(this).addClass("active");
$(".menu-wrapper").width(340);
}
//$(".card").offset({left: 0});
$(".card").removeClass("flipped-reset");
$(document).find(".card").toggleClass("flipped");
$(".menu-button").toggleClass("menu-button-sub-menu-active");

});

//Sub Menu Hover
$(".sub-menu > li").hover(function() {
$(this).toggleClass("sub-menu-item-hover");
}, function() {
$(this).toggleClass("sub-menu-item-hover");
});

//Menu Close
$(".inner-wrap").click(function(){
$(document).find(".menu-active").removeClass("menu-active");
$(".menu-button-menu-active").removeClass("menu-button-menu-active");
$(".menu-button-sub-menu-active").removeClass("menu-button-sub-menu-active");
if ($(document).find(".card").hasClass("flipped")) {
$(document).find(".card").removeClass("flipped");
$(document).find(".card").addClass("flipped-reset");
}
$(".menu-wrapper").width(170);
});

})

最佳答案

当显示子菜单时,此 css is style 打开

-webkit-backface-visibility: hidden;

注册flip时改为

-webkit-backface-visibility: visible;

这适用于 webkit 浏览器,因此您需要为其他浏览器添加相应的样式。

HTH

关于jquery - 旋转的 Div 点击事件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27366281/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com