用于change()函数的slideToggle()等效

时间:2015-07-16 10:27:21

标签: javascript jquery

在jQuery中查找我的.change()函数的slideToggle,.slideUp();.slideDown();似乎不适用于jQuery 1.13。

我没有使用slideToggle的原因是因为它会在每次更改时切换。

有什么建议吗?

例如

https://jsfiddle.net/yw8h3em3/

所以基本上它只是显示并立即隐藏,我希望它能够在show()上向下滑动动画并在hide()上滑动动画

2 个答案:

答案 0 :(得分:1)

我刚刚更新了你的jsfiddle以包含jquery版本1.11,它可以正常工作。

这是更新后的链接和代码段

https://jsfiddle.net/yw8h3em3/3/

function test() {
    if ($('#test1').val() === 'No') {
        //test1 list
        $('#id_45').slideDown();
    } else {
        //test2 list
        $('#id_45').slideUp();
        $('#id_45').val("");
    }        
}

答案 1 :(得分:0)

因为你使用低jQuery版本,最好的方法是使用CSS和jQuery一起使用,下面的工作很棒..它不是很完美,但它是你做你需要做的事情的好方法,你可以改变你想要的代码,这是一个简单的例子。

//call function on load
test();
//call function on change
$('#test1').change(function() { test(); });

function test() {
    $('.cont').toggleClass('toggled'); 
}
.cont {
  width: 100px;
  height: 100px;
  border: 1px #CCC solid;
  background-color: #EEE;
  padding: 5px;
  -webkit-transition: height .3s linear, padding-top .3s linear, padding-bottom .3s linear, border-width .3s linear;
}
.toggled {
  overflow: hidden;
  padding-top: 0;
  padding-bottom: 0;
  height: 0;
  border-width: 0;
}
<script src="//code.jquery.com/jquery-1.11.3.js"></script>

<li class="form-line" id="id_44">
   <select class="form-dropdown" style="width:150px" id="test1" name="test1" >
        <option value=""> Select Option </option>
        <option value="Yes"> Yes </option>
        <option value="No"> No </option>
   </select>
</li>

<div class="cont">Toggle this div</div>

http://jsfiddle.net/joshstevens19/0Lb4ks8L/