使用jquery阅读新闻部分的更多按钮问题

时间:2012-03-06 17:57:40

标签: jquery jquery-selectors jquery-click-event

我正在尝试创建一个包含新闻项目的页面,就像博客帖子一样,我用php获取新闻项目,我想限制新闻的字符数量,并显示阅读更多链接。当用户点击阅读时,它应显示所有内容和隐藏按钮。当用户单击隐藏时,它应隐藏内容并显示原始状态。 我遇到的问题是,当我点击更多新闻项目时,它会在其他帖子项目上创建隐藏链接,并在其他新闻中显示内容。

我已经在Fiddle上发布了我的解决方案,因为有很多行代码。如果我没有提供所有代码,请告诉我,因为这是我在Fiddle的第一篇文章。 http://jsfiddle.net/wqXPg

2 个答案:

答案 0 :(得分:1)

在插件的某些方面,您使用find()方法将范围保持在单个新闻模块中,其他人则使用页面中的类的整个集合

完美的例子是你从底部的循环开始调用init()并将每个元素作为参数传递给init()但是它不会被使用并且你将clcik处理程序绑定到每个a.readmore在页面

更多此类背景将有所帮助。请注意p.find()

 init: function(config, p){
        $.extend(this.config, config);
        this.createSubString(p);
        p.find('a.read-more').on('click', news.show);
    }

另请仔细查看您对news.container的使用情况。它是页面中包含该类的每个容器

答案 1 :(得分:1)

创建插件时,您应该遵循guidelines that the JQuery team has set up

在明确的范围内维护,检查和理解代码要容易得多,例如在一个明确定义的功能中。围绕功能“跳跃”并在各处传递参数是混乱的,并且可能导致意大利面条代码。

如果你能掌握concept of scope,以及如何构建一个插件,那就容易多了。

我让this example你可以学习和学习。