【问题标题】:Open/close Jquery menu on click单击时打开/关闭 Jquery 菜单
【发布时间】:2016-07-21 21:59:32
【问题描述】:

我有一个菜单,用于保存论坛的一些链接。我希望它在点击时打开并在点击时关闭。这是我的代码。

/*Custom BBPress admin links menu*/
function wpmudev_bbp_admin_links_in_menu($retval, $r, $args) {
   if ( is_user_logged_in() ) {
   $menulinks = '<ul id="bbp_custom_links_menu-' . $r["id"] . '" class="bbp_custom_links_menu">';
    $menulinks .= '<li class="parent"><a href="#bbp_custom_links_menu-' . $r["id"] . '">Options</a>';
    $menulinks .= '<ul class="bbp_custom_links_submenu">';
    foreach($r['links'] as $key => $val) {
        $menulinks .= "<li>{$val}</li>";
    }
    $menulinks .= '</ul></li></ul>';

    echo $r['before'] . $menulinks . $r['after'];
    }
}
add_filter('bbp_get_topic_admin_links', 'wpmudev_bbp_admin_links_in_menu', 10, 3);
add_filter('bbp_get_reply_admin_links', 'wpmudev_bbp_admin_links_in_menu', 10, 3);

add_action( 'wp_footer', 'overflow_overriding' );
function overflow_overriding() {
    if ( !is_user_logged_in() ) {
    }else{
    ?>
<script type="text/javascript">
jQuery( document ).ready(function() {
jQuery('.bbp-admin-links:even').css({"position": "absolute", "right": "380px"});
jQuery('.bbp-admin-links:even').click(function(e) {
e.preventDefault();
$('ul:first',$(this)).toggleClass('hidden active');
});
});
</script>

     <?php
    }
}

我已尝试使用此链接作为指南。

https://stackoverflow.com/a/2937603/6147300

我所有的 Jquery 都正确,但我不知道如何使用 CSS 来定位我需要定位的内容。我也不清楚 CSS 应该放在哪里,它需要放在 Jquery 代码中还是放在我的 CSS 编辑器中。

有什么建议吗?

【问题讨论】:

  • 你想打开/关闭什么?你能告诉我们相关的html吗?
  • @WashingtonGuedes 我更新了上面的代码。
  • 这个问题已经解决了,但是我还有另一个问题。我把这两个问题分开了。另一个位于这里。 stackoverflow.com/questions/36410261/… 如果有人能帮助解决这个问题,我将不胜感激。

标签: javascript php jquery html css


【解决方案1】:

一个好的方法是使用 jQuery 添加一个类,然后使用 CSS 定位该类的样式。请参阅下面的示例。

HTML

<ul id="menu">
 <li>Home</li>
 <li>Portfolio</li>
 <li>About Us</li>
 <li>Contact Us</li>
</ul>

<button id="toggle">Toggle Menu</button>

CSS

#menu {
  display: block;
  list-style-type: none;
  position: absolute;
  top: 0;
  right: -120px;
  width: 100px;
  background: #000;
  color: #fff;
  padding: 10px;
  -webkit-transition: 0.5s;
  transition: 0.5s;
}

.active {
  right: 0px !important;
}

JS

$("#toggle").on('click', function() {
  $('#menu').toggleClass("active");
});

https://jsfiddle.net/7f1kxo9f/

【讨论】:

  • 我仍然不知道如何处理这些代码。我不知道如何利用你们所有人拥有的东西并使其与我的代码一起使用。一些额外的帮助将不胜感激。
【解决方案2】:

这就是你想要的: 复制并保存在 HTML 文件中开始测试。

<style>
  #lang-selector {
    font-size: 12px;
    height: 21px;
    margin: 7px auto 17px auto;
    width: 250px;
    font-family: Verdana;
  }

  #lang-selector span {
    color: #999;
    float: left;
    margin: 4px 0 0 87px;
    padding-right: 4px;
    text-align: right;
  }

  #lang-selector ul {
    float: left;
    list-style: none;
    margin: 0;
    padding: 0;
  }

  #lang-selector ul li a {
    padding: 3px 10px 1px 10px;
  }

  #lang-selector ul, #lang-selector a {
    width: 186px;
  }

  #lang-selector ul ul {
    display: none;
    position: absolute;
  }

  #lang-selector ul ul li{
    border-top: 1px solid #666;
    float: left;
    position: relative;
  }

  #lang-selector a {
    background: url("http://www.gamefriction.com/Coded/images/language_bg.png") no-repeat;
    color: #666;
    display: block;
    font-size: 12px; 
    height: 17px;
    padding: 4px 10px 0 10px;
    text-align: left;
    text-decoration: none;
    width: 166px;
  }

  #lang-selector ul ul li a {
    background: #333;
    color: #999;
  }

  #lang-selector ul ul li a:hover{
    background: #c4262c;
    color: #fff;
  }
</style>
<div id="lang-selector">
  <ul>
    <li>
      <a href="#">Choose a Language</a>
      <ul>
        <li><a href="#">English</a></li>
        <li><a href="#">Deutsch</a></li>
        <li><a href="#">Italiano</a></li>
      </ul>
    </li>
  </ul> 
</div>
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.12.2/jquery.min.js"></script>
<script type="text/javascript">

 /* Language Selector */

 $(function() {
     $("#lang-selector li:first").click(function(){
         $('ul:first',this).toggle();
     })
 });

 $(document).ready(function(){ 

  /* Navigation */
  $('.subnav-game').hide();
  $('.subnav-game:eq(0)').show();
  $('.preorder-type').hide();


  $('.preorder-type:eq(3)').show();


 });
 </script>

【讨论】:

    猜你喜欢
    • 2018-09-29
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-12-03
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多