无法进行响应式导航

时间:2013-06-11 09:21:17

标签: javascript jquery html mobile navigation

我正在使网站响应。我使用以下代码将导航作为移动设备的选择框。但是代码不起作用。我错过了什么吗?

<nav id="main-nav">
<table cellspacing="0" cellpadding="0" border="0">
    <tr>
        <!--START: menuitems_view-->
        <!--START: TOP_LINK_FORMAT-->
        <td nowrap="nowrap">
            <a href="infopage.asp?page=[link_id]"
               class="menu" target="[link_target]">
               [link_name]
            </a>
        </td>
        <!--END: TOP_LINK_FORMAT-->
        <!--END: menuitems_view-->
    </tr>
</table>
<select></select>

脚本代码如下:

<script>
$(document).ready(function() {  
//Appending Select in NAv for Small Resolutions Devices

// Create the dropdown base
$("<select />").appendTo("#main-nav");

// Create default option "Go to..."
$("<option />", {
   "selected": "selected",
   "value"   : "",
   "text"    : "Site Navigation..."
}).appendTo("#main-nav select");

// Populate dropdown with menu items
$("#main-nav a, #main-nav a").each(function() {
    var el = $(this);
    $("<option />", {
        "value"   : el.attr("href"),
        "text"    : el.text()
    }).appendTo("#main-nav select");
});
$("#main-nav select").change(function() {
       window.location = $(this).find("option:selected").val();}
    );

});

</script>

1 个答案:

答案 0 :(得分:1)

首先,我不确定你想要实现什么,所以只写了一些我看到的错误。

首先,HTML已损坏导航标记缺少结束标记。

另一件事是你已经在nav标签的末尾有了select标签,但你仍然通过jQuery创建自己的标签,.appendTo("#main-nav select")添加了它们的选项。 如果您只想删除一个<select></select>

除了这些选项之外,选项的创建也很好,而且更改事件也可以。