在线观看不卡亚洲电影_亚洲妓女99综合网_91青青青亚洲娱乐在线观看_日韩无码高清综合久久

鍍金池/ 問(wèn)答/HTML5  HTML/ 如何解決交叉區(qū)域的點(diǎn)擊無(wú)效事件?

如何解決交叉區(qū)域的點(diǎn)擊無(wú)效事件?

二級(jí)菜單與實(shí)際點(diǎn)擊區(qū)域存在交叉區(qū)域

父元素交叉

于是在二級(jí)菜單下添加了一個(gè)子元素div,監(jiān)聽(tīng)二級(jí)菜單的子元素的點(diǎn)擊事件,原交叉區(qū)域仍然點(diǎn)擊無(wú)效。
子元素區(qū)域大小

HTML:

<div class="level1-group dragDocument">
    <a class="menu-level1">
        <div>
            <img src="resource/template/image/circle.png" >
        </div><span>23</span> </a>
</div>
<div class="level2-group">
    <div class="menu-level2">
        <div class="menu-level2-bg dragDocument">
            <img src="resource/template/image/01.png">
            <span class="nav-text-link">24</span>
        </div>
    </div>

    <div class="menu-level2">
        <div class="menu-level2-bg dragDocument">
            <img src="resource/template/image/01.png">
            <span class="nav-text-link">25</span>
        </div>
    </div>
    <div class="menu-level2">
        <div class="menu-level2-bg dragDocument">
            <img src="resource/template/image/01.png">
            <span class="nav-text-link">26</span>
        </div>
    </div>
</div>

CSS:

    .menu li .level1-group a {
        position: absolute;
        display: block;
        height: 200%;
        width: 200%;
        color: #fff;
        pointer-events: auto;
        text-align: center;
        text-decoration: none;
        font-size: 40px;
        -webkit-transition: all 0.5s ease;
        -moz-transition: all 0.5s ease;
        transition: all 0.5s ease;
        background-size: contain;
    }

    .menu li a span {
        display: block;
        font-size: 22px;
        text-transform: uppercase;
        position: absolute;
        top: 57px;
        text-align: center;
        width: 100%;
        height: 40px;
        line-height: 40px;
        font-family: microsoft yahei;
    }
    .menu-level2 {
        height: 0;
        width: 0;
        top: 50%;
        left: 50%;
        opacity: 0;
        position: absolute;
        transition: all 0.7s linear;
        z-index: 1;
        transform-origin: 100% 100%;
    }
    .menu-level2-bg {
        height: 63%;
        width: 63%;
        position: absolute;
        overflow: hidden;
        z-index: 15;
    }
    .menu-level2-bg img {
        height: 100%;
        width: 100%;
        position: absolute;
    }

    .menu-level2-bg span {
        top: 43px;
        left: 2px;
        font-size: 28px;
        position: absolute;
        transform: rotate(-45deg);
        color: #3f448cd1;
        width: 100%;
        text-align: center;
        height: 88px;
        line-height: 88px;
        font-family: microsoft yahei;
    }

Js:

 //二級(jí)菜單生成
$(document).on("click", ".menu-level1", function(e) {
    e.stopPropagation();
    var $this = $(this);
    if ($this.find('span').html() != '') {
        var level2Length = $(this).parents('li').find('.menu-level2').length;
        if (level2Length > 0) {                   
            var degree = parseInt($(this).parent().attr('degree')) - 15;
            var level2CurrentDegree = degree;
            $this.parents('li').find('.menu-level2').each(function(index, element) {
                $(element).css({
                    "transform": 'rotate(' + level2CurrentDegree + 'deg)'
                });
                level2CurrentDegree = level2CurrentDegree + 45;
            });
        }
    }
});
 //監(jiān)聽(tīng)二級(jí)菜單子元素 以彈出三級(jí)菜單
$(document).on("click", ".menu-level2-bg", function(e) {
    e.stopPropagation();
    var $this = $(this);
    var thirdImageLength;
    var $level2 = $(this).parents('.menu-level2');
    var index = $level2.index();
    var $levels = $(this).parents('.level2-group').siblings('.level3-group').find('.menu-level3');
    if ($this.find('span').html() == '') {
        return false;
    }
    $this.parents('.menu').find(".menu-level3").removeClass('open-level3');
    thirdImageLength = $levels.eq(index).find('.eleContainer').length;
    if(thirdImageLength>3){
        $levels.eq(index).find('a').css('display','');
    }
    $levels.eq(index).addClass('open-level3');
});

然后調(diào)z-index大小,使子元素的高度大于父元素,也不能解決,請(qǐng)大神幫幫忙!!

回答
編輯回答
扯機(jī)薄

用canvas寫吧 不會(huì)有這種問(wèn)題

2017年6月12日 07:38