首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何在这里使用Jquery滑动切换?

如何在这里使用Jquery滑动切换?
EN

Stack Overflow用户
提问于 2017-07-03 23:46:41
回答 2查看 117关注 0票数 1

我在这里有这个代码:

代码语言:javascript
复制
$(document).ready(function () {
  $(".toggle").click(function () {
    //$(".readmore").slideToggle();
    $(".readmore").toggle();
    $(this).text(function(){return $('.readmore:visible').length?'Read less':'Read more'});
  }).triggerHandler('click');
});

我希望在点击Readmore时有一个滑动切换的效果,但是一旦我用滑动切换替换了切换,它就停止工作了。有什么想法吗?

EN

回答 2

Stack Overflow用户

发布于 2017-07-04 00:31:51

.toggle():不带参数只需切换元素的可见性

相反,.slideToggle()需要一段动画时间才能完成。这意味着您需要使用 complete 回调:动画完成后要调用的函数。

因此,当您测试slideToggle之后的可见性时,它不起作用,因为这个值只在超时后更改,而切换后它很快就会更改。由于这个延迟,你需要等待动画完成来执行你的代码。

在以下代码片段中:

代码语言:javascript
复制
$(".toggle").on('click', function (e) {
    $(this).nextAll(".readmore:first").slideToggle(400, function() {
        $(e.target).text($('.readmore:visible').length?'Read less':'Read more');
    });
});

$(".readmore").toggle();
$('.toggle').text($('.readmore:visible').length?'Read less':'Read more');
代码语言:javascript
复制
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>


<button class="toggle">Read more</button><br/>
<div class="readmore">
blah blah blah
</div>
<button class="toggle">Read more</button><br/>
<div class="readmore">
blah blah blah
</div>

票数 0
EN

Stack Overflow用户

发布于 2017-07-04 00:41:33

这可能会有所帮助。

代码语言:javascript
复制
$(document).ready(function () {
 $(".readmore").hide();
  $(".toggle").click(function (event) {
    $(this).nextAll(".readmore:first").slideToggle(function(){    
      $(event.target).text(function(){
        return $('.readmore:visible').length?'Read less':'Read more'});
    });
  });
});

HTML部分

代码语言:javascript
复制
<button class="toggle">
Read more
</button>
<div class="readmore">
blah blah blah
</div>

滑动切换的默认动画时间为300ms,您可以将其增加,只需将滑动切换回调(3行)更改为:

代码语言:javascript
复制
$(this).nextAll(".readmore:first").slideToggle(500,function(){    
      $(event.target).text(function(){
        return $('.readmore:visible').length?'Read less':'Read more'});
});
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/44889653

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档