Jquery 使用“滑动开关”;这是什么;?

Jquery 使用“滑动开关”;这是什么;?,jquery,Jquery,我在一个网页上用了几篇文章。我只是有一个简短的文字介绍,然后是一个“阅读更多”链接,以幻灯片切换文章的其余部分 我试图简化我的代码,并正在寻找一种解决方案,以某种方式使用此,而不需要为每个文本块使用唯一的类或id,只需使用一个函数来处理所有隐藏文本块的滑动切换。如果有可能的话,我想知道如何开发我的代码?我不确定 jQuery $(document).ready(function() { $(".more").click(function(){ $(this).next(".extra").s

我在一个网页上用了几篇文章。我只是有一个简短的文字介绍,然后是一个“阅读更多”链接,以幻灯片切换文章的其余部分

我试图简化我的代码,并正在寻找一种解决方案,以某种方式使用
,而不需要为每个文本块使用唯一的类或id,只需使用一个函数来处理所有隐藏文本块的滑动切换。如果有可能的话,我想知道如何开发我的代码?我不确定

jQuery

$(document).ready(function() {  
$(".more").click(function(){
$(this).next(".extra").slideToggle("fast");
});
});
HTML


标题1
文本1

还有一些文字要读1

标题2 文本2

还有一些文字要读2


给你……不要在这个问题上使用next


给你…不要用下一个


下面是一个JSFIDLE,其中包含工作代码:

JavaScript:

$(".more").click(function () {
    $(this).parent().next(".extra").slideToggle("fast");
});

下面是一个JSFIDLE,其中包含工作代码:

JavaScript:

$(".more").click(function () {
    $(this).parent().next(".extra").slideToggle("fast");
});
我建议:

$('.articleContent').on('click', function(e){
    if ($(e.target).is('.more')) {
        $(this).find('.extra').toggle();
    }
});

参考资料:

    • 我建议:

      $('.articleContent').on('click', function(e){
          if ($(e.target).is('.more')) {
              $(this).find('.extra').toggle();
          }
      });
      

      参考资料:


      $(this).parent().next()
      。请参见
      $(this).parent().next()
      。看到了吗,谢谢,但是当我点击链接时什么也没发生!?太好了,现在开始工作了。但我发现了一些不那么好的东西。如果我向下滚动一点,点击“阅读更多”,页面会跳到页面顶部!你明白我的意思吗?我希望每篇文章的文本都能滑动切换,尽管我已经向下滚动了一点。有没有办法限制这一点?否则,用户必须再次向下滚动,这是不好的。或者这就是浏览器的工作方式?我知道你在说什么……这是因为你使用了一个hash
      作为href。我已经更新了我的答案来解决这个问题,现在好多了!但是你会建议我不要使用散列标签,而是使用其他简单的解决方案吗?只需单击其他元素而不是链接?欢迎提出意见。什么是.preventDefault();真的吗?这取决于你,保留哈希或使用div或span。。。
      .preventDefault()防止触发元素的标准动作。你可以在表单上使用它来阻止提交等等。谢谢,但是当我点击链接时,什么都没有发生!?太好了,现在开始工作了。但我发现了一些不那么好的东西。如果我向下滚动一点,点击“阅读更多”,页面会跳到页面顶部!你明白我的意思吗?我希望每篇文章的文本都能滑动切换,尽管我已经向下滚动了一点。有没有办法限制这一点?否则,用户必须再次向下滚动,这是不好的。或者这就是浏览器的工作方式?我知道你在说什么……这是因为你使用了一个hash
      作为href。我已经更新了我的答案来解决这个问题,现在好多了!但是你会建议我不要使用散列标签,而是使用其他简单的解决方案吗?只需单击其他元素而不是链接?欢迎提出意见。什么是.preventDefault();真的吗?这取决于你,保留哈希或使用div或span。。。
      .preventDefault()防止触发元素的标准动作。您可以在表单上使用它来防止提交等。