jQuery根据click事件的if else条件设置iframe的高度?

时间:2015-04-28 15:21:45

标签: jquery html iframe

嗨,大家好我每次点击我的div" top"时都会改变高度的iframe。代码以deault高度300开始,当我点击我的div" top"高度下降到0.然而,当我再次点击我的div时,高度不会像我想要的那样转到300。

按顺序排列JS,CSS和HTML文件:



$(document).ready(function () {
        $(".top").click(function(){
            var height = $("#target").height();
            if(height === 300 ){
                $("#target").height(0).slideUp();
            } else{
                $("#target").height(300).slideDown();
            }
        });
    });

.top {
  height: 100px;
  width: 300px;
  background-color: green;
}
.cb {
  position: fixed;
  right: 0;
  bottom: 0;
}

<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.11.1/jquery.min.js"></script>
<div class="cb">
  <div class="top"></div>
  <iframe id="target" src="http://www.disney.com" width="300" height="300" frameborder="0" scrolling="no"></iframe>
</div>
&#13;
&#13;
&#13;

我是jQuery的新手所以请建议我如何在我的iframe上实现上下滑动功能,所以当我点击它时它会很好地上下滑动。谢谢,祝你有个美好的一天!

2 个答案:

答案 0 :(得分:4)

 if(height = 300)

应该是

 if(height==300)

或更好(除了值之外还检查类型)

 if(height===300)

因为&#34;身高= 300&#34;是一个表达式,它分配一个名为&#39; height&#39;的变量。在条件语句中,每次都返回true。以下是有关条件运算符的更多信息:https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Operators#Conditional_(ternary)_operator

答案 1 :(得分:1)

if(height == 300 ){
                $("#target").height(0).slideUp(time_in_ms);

那应该处理问题的滑动部分。我相信你的另一个问题是因为身高变量。尝试:

var height = $("#target").attr('height')