fireworks菜单生成器mm_menu.js在 IE 7.0 显示问题的解决方法

yizhihongxing

为了解决Fireworks菜单生成器mm_menu.js在IE 7.0中的显示问题,我们需要进行以下步骤:

步骤一:升级mm_menu.js

首先,我们需要下载最新版本的mm_menu.js文件,并将其替换掉原始的文件。最新版本的mm_menu.js可以从Dreamweaver的官网或其他网络资源库中获取。

步骤二:修改CSS样式

接下来,我们需要修改CSS样式,以避免IE 7.0中的显示问题。具体来说,我们需要对子菜单(submenus)应用以下CSS样式:

ul.submenu {
  margin: 0;
  padding: 0;
  position: absolute;
  left: -999em;
}

该样式将确保子菜单在屏幕上不可见,并始终保持左侧位置为-999em。

步骤三:添加JavaScript代码

最后,我们需要将以下JavaScript代码添加到页面中,以解决在IE 7.0中显示的问题:

var ua = navigator.userAgent.toLowerCase();
var isIE7 = ua.indexOf('msie 7') != -1;
if(isIE7) {
  window.onload = function() {
    var menuDivs = document.getElementsByTagName('div');
    for(var i=0; i<menuDivs.length; i++) {
      if(menuDivs[i].className.indexOf('submenu') != -1) {
        menuDivs[i].parentNode.appendChild(menuDivs[i]);
      }
    }
  }
}

该代码将在载入页面时检查用户代理(user agent),如果检测到IE 7.0,则将所有子菜单(submenus)的父节点(parentNode)设置为该子菜单的新位置,以解决IE 7.0中的显示问题。

示例说明一

为了更清楚地说明以上步骤,考虑以下示例:

<!DOCTYPE html>
<html>
<head>
  <meta http-equiv="Content-Type" content="text/html; charset=utf-8">
  <title>mm_menu.js示例</title>
  <script src="mm_menu.js"></script>
  <style type="text/css">
    ul.submenu {
      margin: 0;
      padding: 0;
      position: absolute;
      left: -999em;
    }
  </style>
  <script type="text/javascript">
    var ua = navigator.userAgent.toLowerCase();
    var isIE7 = ua.indexOf('msie 7') != -1;
    if(isIE7) {
      window.onload = function() {
        var menuDivs = document.getElementsByTagName('div');
        for(var i=0; i<menuDivs.length; i++) {
          if(menuDivs[i].className.indexOf('submenu') != -1) {
            menuDivs[i].parentNode.appendChild(menuDivs[i]);
          }
        }
      }
    }
  </script>
</head>
<body>
  <div id="menu1" class="mam">
    <a href="#">主菜单1</a>
    <div class="submenu">
      <a href="#">子菜单1</a>
      <a href="#">子菜单2</a>
      <a href="#">子菜单3</a>
    </div>
  </div>
</body>
</html>

在这个示例中,我们包含了mm_menu.js文件,并对子菜单应用了所述的CSS样式。通过检测用户代理,我们在页面加载时自动执行JavaScript代码,以解决IE 7.0的显示问题。

示例说明二

考虑下面的HTML代码:

<div id="menu1" class="mam">
  <a href="#">主菜单1</a>
  <div id="submenu1" class="submenu">
    <a href="#">子菜单1</a>
    <a href="#">子菜单2</a>
    <a href="#">子菜单3</a>
  </div>
</div>

在这个示例中,我们没有使用mm_menu.js文件,而是手动创建了一个子菜单。我们依然可以遵循之前的步骤来解决IE 7.0中的显示问题。

首先,我们需要对子菜单应用以下CSS样式:

ul.submenu {
  margin: 0;
  padding: 0;
  position: absolute;
  left: -999em;
}

接着,我们需要添加以下JavaScript代码:

var ua = navigator.userAgent.toLowerCase();
var isIE7 = ua.indexOf('msie 7') != -1;
if(isIE7) {
  window.onload = function() {
    var submenuDiv = document.getElementById('submenu1');
    submenuDiv.parentNode.appendChild(submenuDiv);
  }
}

该代码将在载入页面时检查用户代理,并将子菜单(ID为'submenu1')的父节点(parentNode)设置为该子菜单的新位置。这将解决IE 7.0中的显示问题。

本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:fireworks菜单生成器mm_menu.js在 IE 7.0 显示问题的解决方法 - Python技术站

(0)
上一篇 2023年5月28日
下一篇 2023年5月28日

相关文章

  • js关于精确计算和数值格式化以及直接引js文件

    JavaScript是一种基于浮点数的编程语言,在处理整数和小数时可能会出现精度问题。因此,正确的数值计算和格式化对于JavaScript是非常重要的。在本攻略中,我们将讨论JS中的精确计算和数值格式化,并展示如何引用外部JS文件。 精确计算 在JS中,对于小数计算,我们一般使用toFixed()函数进行保留位数的操作。但是,toFixed()函数在计算时可…

    JavaScript 2023年5月27日
    00
  • npm qs模块使用详解

    npm qs模块使用详解 什么是qs模块? qs是一个Node.js模块,用于解析查询字符串(query string)。查询字符串是一组键值对(key-value)字符串,用来在URL中传递参数。qs模块可以将查询字符串解析为JavaScript对象,并且还可以将JavaScript对象序列化成查询字符串。 安装 使用npm安装qs模块: npm inst…

    JavaScript 2023年6月10日
    00
  • 全面解析Bootstrap表单使用方法(表单按钮)

    Bootstrap是目前最为流行的前端UI框架之一,它内置了很多实用的组件,其中表单是必不可少的一个组件。在表单的使用中,表单按钮起着非常重要的作用,它可以帮助我们实现一些非常实用的功能,例如提交表单、删除数据等。 下面我将为大家详细讲解如何使用Bootstrap表单按钮。 一、表单按钮的基本用法 在使用Bootstrap表单按钮的时候,我们需要先引入Boo…

    JavaScript 2023年6月10日
    00
  • js学习总结之DOM2兼容处理this问题的解决方法

    首先我们需要知道什么是DOM2以及this问题。 DOM2是指在HTML文档中操作各个元素的JavaScript API标准,与DOM1相比,DOM2提供了更加完善、更加准确、更加稳定、更加规范的处理HTML元素的方法。 this问题则是指JavaScript中this的指向问题,由于this的指向不确定,经常会导致我们编写的代码出现问题。在DOM2兼容处理…

    JavaScript 2023年6月10日
    00
  • 一个不错的用JavaScript实现的UBB编码函数

    这里给出一个实现UBB编码的JavaScript函数的攻略。 函数功能 该函数可以将一段包含UBB语法的文本编码成HTML格式的文本。 实现思路 实现该函数需要分析包含UBB语法的文本,将其中的UBB语法转换为对应的HTML语法,最终生成HTML格式的文本。具体实现需要用到正则表达式、字符串替换等技巧。 具体步骤 定义一个函数,此函数接收一个包含UBB语法的…

    JavaScript 2023年5月20日
    00
  • js如何根据id删除数组中对象

    首先,要根据id删除数组中的对象,我们需要对该数组进行遍历,并找到该对象所在的索引位置。接下来,我们可以使用splice()函数删除该位置的对象。 具体步骤如下: 定义一个数组,包含多个对象,每个对象都有一个id属性。 let arr = [ {id: 1, name: ‘Tom’}, {id: 2, name: ‘Jerry’}, {id: 3, name…

    JavaScript 2023年6月11日
    00
  • JS中FormData类实现文件上传

    当需要上传文件时,可以使用JS中的FormData类来实现。下面是实现文件上传的完整攻略: 创建一个表单 首先,要在HTML中创建一个表单,指定具体的上传文件的路径和上传方法: <form action="upload.php" method="post" enctype="multipart/form…

    JavaScript 2023年5月27日
    00
  • pdf.js 使用

    pdf文件能够比较好的保留源格式,传输也比较方便,现PC端浏览器基本都可直接查看pdf文件,只是界面风格不怎么统一,但是手机端查看pdf文件就不能很好的只“预览”,往往都是自动下载到本地再查看,今天分享pdf.js,主要用于在线pdf预览,平时我使用比较多的场景就是培训手册。 我用的是1.1.159,版本比较旧,解压后文件只有3.66 MB。     使用方…

    JavaScript 2023年4月18日
    00
合作推广
合作推广
分享本页
返回顶部