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');
});
}
});
请注意:
- 无需将
与jQuery一起使用document.getElementById
- 不要使用内联事件处理程序
onClick
希望有帮助。jquery和not的奇怪组合是什么?什么?我不明白!您自己的代码也不一致:
document.getElementById(idd).style.height!=30
(整数)vsdocument.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');
});
}
});