首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >typeface.js -不是“重写”

typeface.js -不是“重写”
EN

Stack Overflow用户
提问于 2011-07-20 15:22:23
回答 3查看 882关注 0票数 0

当你按下一个新的href时,typeface.js怎么会不“重写”呢

如果从类中删除typeface-js,它就会起作用。

直播链接:http://temp.electrobeat.dk/typeface.php

更新后的函数:

代码语言:javascript
复制
            function generate_menu(page){
                var menu = {
                    posting : {
                        title : 'Posting'
                    },
                    account : {
                        title : 'Account'
                    }
                };
                
                var elm = $('#div_menu').empty();
                for(var key in menu){
                    (function(key){
                        $('<a class="typeface-js menu '+(key == page ? 'menu_active':'')+'" href="#'+key+'">'+menu[key].title+'</a>').appendTo(elm)
                            .click(function(){
                                generate_menu(key);
                            });
                    })(key);
                }
                _typeface_js.initialize();
            };

代码:

代码语言:javascript
复制
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" 
 "http://www.w3.org/TR/html4/strict.dtd">
<html>
    <head>
        <meta http-equiv="content-type" content="text/html; charset=iso-8859-1" />
        
        <script src="https://ajax.googleapis.com/ajax/libs/jquery/1.6.0/jquery.min.js" type="text/javascript"></script>
        <script src="https://ajax.googleapis.com/ajax/libs/jqueryui/1.8.12/jquery-ui.min.js" type="text/javascript"></script>
        
        <script src="typeface-0.15.js" type="text/javascript"></script>
        <script src="arial_bold.typeface.js" type="text/javascript"></script>
        <script type="text/javascript">
            $(document).ready(function(){
                function generate_menu(page){
                    var menu = {
                        posting : {
                            title : 'Posting'
                        },
                        account : {
                            title : 'Account'
                        }
                    };
                    
                    var elm = $('#div_menu').empty();
                    for(var key in menu){
                        (function(key){
                            $('<a class="typeface-js menu '+(key == page ? 'menu_active':'')+'" href="#'+key+'">'+menu[key].title+'</a>').appendTo(elm)
                                .click(function(){
                                    generate_menu(key);
                                });
                        })(key);
                    }
                };
                
                generate_menu('posting');
            });
        </script>
        
        <style type="text/css">
            #div_menu {
                background:#ff0000;
                padding:5px;
            }
            
            .menu {
                font-family:arial;
                font-size:14px;
                color:#e8f5ff;
                font-weight:bold;
                border-bottom:3px solid transparent;
                text-decoration:none;
                padding:1px 2px 2px 2px;
                margin:0px 2px 0px 2px;
            }
            
            .menu_active {
                color:#07447c;
                border-bottom:3px solid #e8f5ff;
            }
        </style>
    </head>
    
    <body>
        <div id="div_menu"></div>
    </body>
</html>
EN

回答 3

Stack Overflow用户

回答已采纳

发布于 2011-07-20 15:32:03

问题是您要删除这些元素,然后再添加它们,但是typeface.js只在页面上运行一次。如果要执行此操作,则需要手动重新触发typeface.js的方法,这可能是:

代码语言:javascript
复制
_typeface_js.initialize(); 

在附加元素之后,将这个(或任何方法)放入您的generate_menu方法中。

票数 1
EN

Stack Overflow用户

发布于 2012-03-20 23:25:05

代码语言:javascript
复制
_typeface_js.renderDocument(); 

http://typeface.neocracy.org/forum/topic.html?id=325

票数 1
EN

Stack Overflow用户

发布于 2011-07-20 15:30:24

单击链接时,必须取消默认事件传播:

代码语言:javascript
复制
.click(function(event){
    event.preventDefault();
    generate_menu(key);
    return false;
});

无论您单击菜单链接时执行的是什么代码,浏览器都会转到它们的href,即"#“。

票数 -1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/6758373

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档