我正在尝试创建一个包含新闻项目的页面,就像博客帖子一样,我用php获取新闻项目,我想限制新闻的字符数量,并显示阅读更多链接。当用户点击阅读时,它应显示所有内容和隐藏按钮。当用户单击隐藏时,它应隐藏内容并显示原始状态。 我遇到的问题是,当我点击更多新闻项目时,它会在其他帖子项目上创建隐藏链接,并在其他新闻中显示内容。
我已经在Fiddle上发布了我的解决方案,因为有很多行代码。如果我没有提供所有代码,请告诉我,因为这是我在Fiddle的第一篇文章。 http://jsfiddle.net/wqXPg
答案 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你可以学习和学习。