簡體   English   中英

更改嵌套子菜單的CSS的功能不起作用(jQuery)

[英]Function to change CSS of nested submenu not working (jQuery)

我正在嘗試為具有嵌套子菜單的移動網站創建幻燈片菜單,該子菜單也可以在主父菜單上滑動。 這是通過編輯right樣式屬性以在屏幕上和屏幕上移動每個菜單來完成的。

除了打開子菜單后,所有正常工作之外,應該關閉該子菜單的功能正在更改CSS。 包含該指令本身的函數正在執行(由console.log證明),但是編輯CSS的行不起作用。

這是有問題的功能:

$(document).ready(function(){
  $('.close-sub-menu').click(function(){
      $(this).parent().css("right", "-425px");
      console.log("this line is logging correctly");
  });
});

有趣的是,如果我嘗試編輯background-colorleft的CSS,它將起作用。 但是right將行不通。

我嘗試使用addClassremoveClass代替,直接引用父類的類名而不是使用this和內聯函數調用,但是似乎都沒有用。 我認為這是一個范圍問題,或者可能是對父菜單的干擾。 無論哪種方式,我都無法弄清楚。

這是我在JSFiddle中遇到的問題的簡單示例: https ://jsfiddle.net/wk4wwfer/2/

jQuery是非常可以接受的。

當您單擊關閉按鈕時,您的$('.slide-menu-sub-parent').click函數仍處於觸發狀態。

將您的關閉功能更新為:

$('.close-sub-menu').click(function(e){
    e.stopPropagation(); //Prevents the click event from bubbling up and triggering the other click events registered
    $(this).parent().css("right", -425);
}

小提琴解決方案

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM