1

这个脚本不起作用,当我在 iPhone 上查看时,我仍然可以在我的选择菜单中看到它

<nav class="primary">
        <select class="select-menu" style="">
    <option value="#">Navigate to...</option>
    <option value="http://www.mphclub.com/">&nbsp;Home</option>
    <option value="http://www.mphclub.com/exotic-car-rental">&nbsp;Fleet</option>
    <option value="javascript:void(0)">&nbsp;–&lt;/option>
    <option value="http://www.mphclub.com/mercedes-benz-cls-amg">&nbsp;–Mercedes Benz CLS 6.3 AMG</option>
    <option value="http://mphclub.com/mercedes-benz-cls-amg">&nbsp;– </option>
</select>
</nav>

和....

    <script type="text/javascript">
jQuery(function($) { 
$(".select-menu option[value='http://mphclub.com/mercedes-benz-cls-amg']").remove();});</script>

额外的标签在主站点上不可见,但是当您在 iphone 上查看它时,您可以将所有链接视为值选项。

这必须以某种方式影响它

(function($){
$.fn.mobileMenu = function(options) {

 var defaults = {
   defaultText: 'Navigate to...',
   className: 'select-menu',
   subMenuClass: 'sub-menu',
   subMenuDash: '&ndash;'
  },
  settings = $.extend( defaults, options ),
  el = $(this);

 this.each(function(){
  // ad class to submenu list
  el.find('ul').addClass(settings.subMenuClass);

  // Create base menu
  $('<select />',{
   'class' : settings.className
  }).insertAfter( el );

  // Create default option
  $('<option />', {
   "value"  : '#',
   "text"  : settings.defaultText
  }).appendTo( '.' + settings.className );

  // Create select option from menu
  el.find('a,.separator').each(function(){
   var $this  = $(this),
     optText = $this.text(),
     optSub = $this.parents( '.' + settings.subMenuClass ),
     len   = optSub.length,
     dash;

 // if menu has sub menu
   if( $this.parents('ul').hasClass( settings.subMenuClass ) ) {
   dash = Array( len+1 ).join( settings.subMenuDash );
    optText = dash + optText;

   }

   if($this.is('span')){
    // Now build menu and append it
   $('<optgroup />', {
    "label" : optText,
   }).appendTo( '.' + settings.className );
   }
   else{
    // Now build menu and append it
   $('<option />', {
    "value" : this.href,
    "html" : optText,
    "selected" : (this.href == window.location.href)
   }).appendTo( '.' + settings.className );
   }

  }); // End el.find('a').each

  // Change event on select element
  $('.' + settings.className).change(function(){
   var locations = $(this).val();
   if( locations !== '#' ) {
    window.location.href = $(this).val();
   }
  });
  $('.select-menu').show();

 });
 return this;
};
})(jQuery);
4

2 回答 2

0

我遇到的问题是选项界面(我发布的最后一行代码)正在调用其中包含“href”的所有值以显示在下拉菜单中。这可以通过将菜单项更改为而不是然后仅使用 css 将 div 更改为链接来解决。感谢一路上帮助过我的每一个人!

于 2013-03-13T19:27:51.077 回答
0

确保你引用了 jQuery 库,在你的head标签中添加这个:

<script src="//ajax.googleapis.com/ajax/libs/jquery/1.9.1/jquery.min.js"></script>

上面的所有代码都是正确的。把它放在你的头标签中,在引用 jQuery 的脚本下。

<script type="text/javascript">
    jQuery(function($) { 
        $(".select-menu option[value='http://mphclub.com/mercedes-benz-cls-amg']").remove();
    });
</script>
于 2013-03-12T18:33:02.667 回答