Javascript-单击更改DIV背景
我使用JQuery在单击箭头时展开和收缩DIV。箭头应指向上/下,具体取决于DIV是否已展开 我试过这个,但似乎不起作用。该箭头保持为默认的向下箭头。滑动/向下工作正常,但图像不变。有人能解释为什么吗Javascript-单击更改DIV背景,javascript,jquery,Javascript,Jquery,我使用JQuery在单击箭头时展开和收缩DIV。箭头应指向上/下,具体取决于DIV是否已展开 我试过这个,但似乎不起作用。该箭头保持为默认的向下箭头。滑动/向下工作正常,但图像不变。有人能解释为什么吗 function toggle_visibility(id) { $e = $("#" + id); $arrow = $("#arrow" + id); if ($e.is(':visible'))
function toggle_visibility(id) {
$e = $("#" + id);
$arrow = $("#arrow" + id);
if ($e.is(':visible')){
$e.slideUp("slow");
$arrow.css('background-image', 'url(../images/downarrow.png)');
}else{
$e.slideDown("slow");
$arrow.css('background-image', 'url(../images/uparrow.png)');
}
}
你的这个syntex是错的
$(e).css('background-image', 'url(../images/downarrow.png)');
换成这个
$e.css('background-image', 'url(../images/downarrow.png)');
你的这个syntex是错的
$(e).css('background-image', 'url(../images/downarrow.png)');
换成这个
$e.css('background-image', 'url(../images/downarrow.png)');
$(e).css(…)
应该是$e.css(…)
$(e).css(…)
应该是$e.css(…)
这应该可以:
function toggle_visibility(id) {
$e = $("#"+id);
if ($e.is(':visible')){
$e.slideUp("slow");
$e.css('background-image', 'url(../images/downarrow.png)');
}else{
$e.slideDown("slow");
$e.css('background-image', 'url(../images/uparrow.png)');
}
}
这应该起作用:
function toggle_visibility(id) {
$e = $("#"+id);
if ($e.is(':visible')){
$e.slideUp("slow");
$e.css('background-image', 'url(../images/downarrow.png)');
}else{
$e.slideDown("slow");
$e.css('background-image', 'url(../images/uparrow.png)');
}
}
这样试试
var $e = $("#"+id)
这样试试
var $e = $("#"+id)
工作区:
工作区:
通过jQuery中的css('attributename','attributevalue')函数设置任何值都会将该属性添加到元素的内联样式中。在inspector中,它通常标记为element.style
除了要发布的答案外,我希望您仅通过类执行此操作,然后您可以使用中的备用背景图像创建一个单独的类,并通过在元素中添加/删除类来切换类,这不会显示在element.style中,相反,它只是切换类,而该类将显示在检查器中。通过jQuery中的css('attributename','attributevalue')函数设置任何值都会将该属性添加到元素的内联样式中。在inspector中,它通常标记为element.style
除了要发布的答案外,我希望您仅通过类执行此操作,然后您可以使用中的备用背景图像创建一个单独的类,并通过在元素中添加/删除类来切换类,这不会显示在element.style中,相反,它只是切换类,而这将显示在检查器中。无需
var$e=$(document.getElementById(id))代码>只需使用var$e=$(“#”+id);首先,$e=$(“#”+id)代码>谢谢,刚刚复制了我找到的一些代码。不太熟悉JS$(e)
?也许$e
您可能将错误的元素作为背景不需要var$e=$(document.getElementById(id))代码>只需使用var$e=$(“#”+id);首先,$e=$(“#”+id)代码>谢谢,刚刚复制了我找到的一些代码。不太熟悉JS$(e)
?也许$e
您可能将错误元素作为背景My bad没有看到拼写错误My bad没有看到拼写错误这并不能提供问题的答案。若要批评或要求作者澄清,请在其帖子下方留下评论。@n1ckolas这不是批评,而是指出错误之处。这并不能提供问题的答案。若要批评或要求作者澄清,请在其帖子下方留下评论。@n1ckolas这不是批评,而是指出错误所在。我意识到我在箭头divs上没有ID。我添加了id=“arrow1”等,但仍然没有成功。我在箭头上添加了id,而且图像路径不需要“./”,因此我删除了它,它起了作用。我意识到我在箭头div上没有id。我添加了id=“arrow1”等,但仍然没有成功。我在箭头中添加了id,并且图像路径不需要“./”所以我删除了它,它成功了。