这几天仔细研究了一下jQuery的中文文档,终于解决了上次遇到的问题(即点击一篇文章的“展开/收缩文章”链接时全部文章都展开。)其实就是杰西熊所说的问题,在这里首先要谢谢杰西熊!问题就在于点击调用JS而不是全局的用JS,但当时即使我知道了是这个问题,却又不懂jQuery要怎样设置局部点击调用,只好硬着头皮去啃jQuery的中文文档了,现在问题已解决!关键在于运用了一个重要的jQuery方法---next(),在知道next()之前我试图寻找一个能替代$(".fullpost")的方法,也就是寻找一个能在局部(每篇文章内部)找到class="fullpost"的方法,因为只有这样才能在点击每个“展开/收缩文章”链接时只展开一篇文章的隐藏部分,但直到今天我才在jQuery文档里找到了next(),下面就来介绍一下这个方法:
展开全文next(String expr) 作用是取得一个包含匹配的元素集合中每一个元素紧邻的后面同辈元素的元素集合,这个函数只返回后面那个紧邻的同辈元素,而不是后面所有的同辈元素。比如我的就是取的与a元素同一级别的,后面紧挨着它的span元素,而这个元素里就是我要隐藏的文字,因此我用$(this).next()找到span元素,这样就很完美地代替了原来的$(".fullpost"),也就让后面的toggle('slow');return false;动作只在每篇文章里面执行。相反,如果用$(".fullpost"),就会在点击链接时触发所有文章里的动作,也就形成了前面遇到的情况!现在看来要想完美地实现html和javascript的分离还真不是一件容易的事,至少没有像html和css分离那样简单!通过这件事也吸取了一个教训:在没有了解一件事实质的时候最好不要漫无目的地尝试,那样只会浪费时间,在对一个新事物还不太了解的情况下,遇到困难时首先要做的就是去学习它最基本的知识,也许答案就藏在那些最最基本的知识里面!
收缩文章
收缩文章
3 comments:
-
BoNjouR
said...
-
-
Apr 25, 2007, 6:10:00 PM
-
WOW派
said...
-
-
May 22, 2007, 3:44:00 PM
-
Unknown
said...
-
-
Nov 29, 2008, 10:59:00 PM
Post a Commentwow,加油哦!
其它我觉得现在这篇文章的“展开/收缩文章”就很好,有点动态的效果。棒!我试用了他们很多人的“展开/收缩文章”功能,都是比较普通。你可以加以写成代码分享出来吗?还是还没有完善好呢?
真的好期待這種效果。