2012-12-21 66 views
0

我正在制作一个简单的网站,其上只有文本的主文本窗口。我想有像Home,About,Contact等按钮。现在,我不想制作about.html,contact.html等,但我宁愿只更改文本而不加载新的页面? (所以感觉更平滑)。HTML jQuery按钮点击更改段落

因此,我做了几段文字适合每个页面(家庭,关于等),现在有什么我问你的方式吗?只需点击按钮即可更改段落?还是有没有简单的方法做到这一点,而不是使每个页面的.html文件?

在此先感谢。

+0

你所追求的是使内容替换为阿贾克斯 – MimiEAM

回答

0

我会tvanfosson同意并建议像UI选项卡或AJAX加载,但如果你想看到一个非常基本的方式,您可以使用jQuery隐藏/显示做:

http://jsfiddle.net/ADDPH/7/

HTML

<div id="container"> 
    <ul id="nav"> 
     <li><a href="#" class="index">Index</a></li> 
     <li><a href="#" class="contact">Contact</a></li> 
     <li><a href="#" class="other">Other</a></li> 
    </ul> 
    <div id="content"> 
     <div class="index hide">This is the home page.</div> 
     <div class="contact hide" style="display:none;">This is my contact info.</div> 
     <div class="other hide" style="display:none;">This is other stuff.</div> 
    </div> 
</div>​ 

jQuery的

$("#nav a").click(function() { 
    $(".hide").hide(); // hide other divs, marked with hide class 
    var c = $(this).attr('class').split(' ')[0]; //Get First Class 
    $("#content ."+c).show(); //show anything inside content div with the class c (marked with a . to represent class) 
});​ 
+0

我要澄清一下,我打破了几个很好的编程技术,尽可能CSS之类的东西去了,但是这是基本的功能。 – dewyze

+0

这就是我想要的!谢谢大家对jqueri UI的建议,我一定会仔细研究它,因为它看起来很简单。只要告诉我一件事 - 我需要输入两个jqueries然后(到HTML文件)?或者这只是一个修改后的jQuery类型?谢谢! – user1880779

0

你可以将数据存储在内存中(在一个变量或其他东西),然后将click事件绑定到更改div的函数?

2

您可能想看看jQuery UI tabs插件,如果您将内容放入内容中,插件将完全按照您的需要进行操作。或者,您可以拥有单独的内容文件,但可以使用相同的插件通过AJAX加载它们。即使你决定不使用插件,也可以通过类似的方法隐藏页面加载时除主要“标签”以外的所有内容,然后在你的div上使用适当的hrefs在你的按钮上的锚点,以确定哪些标签显示。

jQuery UI accordion是另一种处理每页多个内容节的方法。