Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/456.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/74.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 为什么';t我的<;部门>;用这些jquery代码幻灯片?_Javascript_Jquery - Fatal编程技术网

Javascript 为什么';t我的<;部门>;用这些jquery代码幻灯片?

Javascript 为什么';t我的<;部门>;用这些jquery代码幻灯片?,javascript,jquery,Javascript,Jquery,当我点击我认为您无法将jQuery动画应用于非jQuery对象 function jamsho(id) { alert($(id).css("height"); if($(id).css("height")!=30) { $(id).stop().animate({height:30},700); divheight=$(id).css("height"); } else if ($(id).css("height")==30) { $(id).animat

当我点击
我认为您无法将jQuery动画应用于非jQuery对象

function jamsho(id) {
alert($(id).css("height");

 if($(id).css("height")!=30)
 {
    $(id).stop().animate({height:30},700);
    divheight=$(id).css("height");

 }
 else if ($(id).css("height")==30)
 {
    $(id).animate({height:divheight},700);

 }
}

您可以对所有函数使用jQuery,而不是部分函数:

function jamsho(id)
{
    var $this = $(id);
    alert($this.height());

    if ($this.height() != 30)
    {
        $this.stop().animate({height:30},700);
        divheight = $this.height();
    }
    else if ($this.height() == 30)
    {
        $this.animate({height:divheight},700);
    }
}

您确定此条件
document.getElementById(idd).style.height=30
是否满意

我相信属性
height
是带有“px”sufix的字符串

因此,如果(document.getElementById(idd.style.height!=“30px”),则可以使用它


顺便说一句,最好只使用jQuery或纯Javascript,不要将它们混合使用。

放弃onclick,放弃香草js。简单如下:

HTML 如果你想要更“动态”的东西:


请记住,上一个解决方案仅适用于jQuery 1.7及以上版本,对于较旧版本,请将上的替换为。委派

尝试以下操作:

var $div = $('#linksbox'),
    divHeight = $div.height();

$('#Titr').click(function() {
    if (!$div.hasClass('expanded')) {
        $div.animate({height: 40}, 700, function() {
            $(this).addClass('expanded');
        });
    }
    else {
        $div.animate({height: divHeight}, 700, function() {
            $(this).removeClass('expanded');
        });
    }
});

请注意:

  • 无需将
    document.getElementById
    与jQuery一起使用
  • 不要使用内联事件处理程序
    onClick

希望有帮助。

jquery和not的奇怪组合是什么?什么?我不明白!您自己的代码也不一致:
document.getElementById(idd).style.height!=30
(整数)vs
document.getElementById(idd).style.height==“30px”
(字符串)…请参见@DontVoteMeDown的答案。您能具体指出代码中发生这种情况的地方吗?“我看不出来,”詹姆斯蒙塔尼,那不是真的。仔细看他的代码
document.getElementById(idd)
$(id)
引用同一个DOM对象,因为
idd=“linksbox”
id=“#linksbox”
。您能描述一下它是如何工作的吗?是否有任何类型的错误消息?jQuery
.height()
如中所示integer@SpYk3HH是的,我知道。但那不是他的情况。
$('#Titr').click(function(e) {
    e.preventDefault();
    var par = $(this).parent();
    par.animate({height:par.height()==30?'':30},700);
});
$('.linkbox').on('click', 'a:first', function(e) {
    e.preventDefault();
    var par = $(this).parent();
    par.animate({height:par.height()==30?'':30},700);
}); 
var $div = $('#linksbox'),
    divHeight = $div.height();

$('#Titr').click(function() {
    if (!$div.hasClass('expanded')) {
        $div.animate({height: 40}, 700, function() {
            $(this).addClass('expanded');
        });
    }
    else {
        $div.animate({height: divHeight}, 700, function() {
            $(this).removeClass('expanded');
        });
    }
});