这是为网站进行动态内容切换的好方法吗? (JQUERY)

时间:2011-12-11 04:47:49

标签: jquery html navigation href

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">

<html>

<script type="text/javascript" src="http://code.jquery.com/jquery-latest.js"></script>

<script>
$(document).ready(function(){
    $(".ContentLoader").click(function(){
        $.page = $(this).attr("goto");
        $("#content").slideToggle(500, function(){
            $(this).load("/pages/"+$.page+".php", function(){
                $(this).slideToggle(500);
            });
        });

    });

});
</script>

<style>
#menu{border: 2px solid black; padding: 5px; border-radius: 7px}
#menu a{background-color: skyblue; padding: 2px 20px 2px 20px}
#content{padding: 10px; background-color: silver; border: 2px solid black; border-radius: 7px; margin-top: 5px}
</style>

<body>

<div id="menu">
    <a href="javascript:" goto="default" class="ContentLoader">Main</a>
    <a href="javascript:" goto="contact" class="ContentLoader">Contact</a>
    <a href="javascript:" goto="default" class="ContentLoader">About</a>
    <a href="javascript:" goto="default" class="ContentLoader">Sign Up</a>
    <a href="javascript:" goto="default" class="ContentLoader">Partners</a>
</div>

<div id="content">
    hey
</div>

</body>

</html>

这是制作动态内容切换器的好方法吗? 此外,我不得不使用href =“javascript:”来防止在点击链接时加载页面。

你们有资格告诉我是否需要改进吗?

1 个答案:

答案 0 :(得分:0)

无需在每个标签上添加相同的类名。只需使用$(“#menu a”)

goto不是有效的属性。使用新的数据属性(http://ejohn.org/blog/html-5-data-attributes/

<script>
$(document).ready(function(event){

    $("#menu a").click(function(){
        event.preventDefault();
        $.page = $(this).data("goto");
        $("#content").slideToggle(500, function(){
            $(this).load("/pages/"+$.page+".php", function(){
                $(this).slideToggle(500);
            });
        });

    });

});
</script>
<div id="menu">
    <a href="#default" data-goto="default">Main</a>
    <a href="#contact" data-goto="contact">Contact</a>
    <a href="#about" data-goto="default">About</a>
    <a href="#signup" data-goto="default">Sign Up</a>
    <a href="#Partners" data-goto="default">Partners</a>
</div>

在您的网址中使用锚点,然后使用event.preventDefault(); 另请参阅http://tkyk.github.com/jquery-history-plugin/