如何让JQuery插件不针对博客帖子?

时间:2014-07-22 14:28:42

标签: javascript jquery html5 article

我正在使用一个JS插件,当您单击read more链接时,允许在隐藏和不隐藏之间切换文本溢出。效果很好,并使用article标签来触发它。我在整个网站的随机文本部分使用它。问题是博客文章也在使用文章标签,因此它也隐藏了大部分博客文章。我如何通过博客文章来制作它?

你可以在网站上看到它。 http://www.gregtregunno.ca/abouthttp://www.gregtregunno.ca/news

这是jquery

$(document).ready(function(){
  $('#info').readmore({
    moreLink: '<a href="#">More examples and options</a>',
    maxHeight: 390,
    afterToggle: function(trigger, element, expanded) {
      if(! expanded) { // The "Close" link was clicked
        $('html, body').animate( { scrollTop: element.offset().top }, {duration: 100 } );
      }
    }
  });
$('article').readmore({maxHeight: 175});});

2 个答案:

答案 0 :(得分:1)

通过排除博客文章的类别:

$('article').not('.post').readmore({maxHeight: 175});});

通过使用jQuery函数.not(),您可以选择(按类,ID或任何您想要使用的内容)不应选择的内容。

更好的方法是指定应缩短哪些帖子,而不是排除不应缩短的内容。所以,如果这是你主题中的一种可能性,我会去那。这会减少加载时间。

答案 1 :(得分:0)

您应该为要应用插件的元素指定一个特殊类,而不是将插件应用于article标记/元素。然后,在应用插件时使用此类作为选择器。

您可以将此视为找到&#34;最低公分母&#34;在您要选择的元素之间。如果一个人不存在,那么你只需创建一个。 HTML元素通常过于宽泛而无法应用某些特殊功能,但具有唯一ID的一个特定元素显然通常过于狭窄。这是课程的最佳选择。

<p class="more">The plugin will be applied to this paragraph</p>
<article>The plugin will not be applied to this article</article>

<script language="text/javascript">
    $(document).ready(function(){
        $('.more').readmore({maxHeight: 175});});
    });
</script>