Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/oop/2.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 单击以切换以获得更好的性能_Javascript_Jquery_Css - Fatal编程技术网

Javascript 单击以切换以获得更好的性能

Javascript 单击以切换以获得更好的性能,javascript,jquery,css,Javascript,Jquery,Css,我认为这不是切换手风琴图标的最佳方式,因为有一点延迟 有没有关于改进此方法以获得更好性能的想法?使用div元素,将背景图像设置为要使用的图标,而不是img元素。然后只需切换一个描述当前图标状态的额外类 HTML $('.head').click(function(){ $(".content").toggle(); if($('.content').is(':visible')) { $('.head> img').attr('src', downIcon

我认为这不是切换手风琴图标的最佳方式,因为有一点延迟


有没有关于改进此方法以获得更好性能的想法?

使用
div
元素,将
背景图像设置为要使用的图标,而不是
img
元素。然后只需切换一个描述当前图标状态的额外类

HTML

$('.head').click(function(){
    $(".content").toggle();

    if($('.content').is(':visible')) {
        $('.head> img').attr('src', downIcon);
    }
    else {
        $('.head> img').attr('src', rightIcon);
    }
});
JS

<div class="head"><div class="icon"></div></div>
.head > .icon {
    background-image: url('up-image.png');
}
.head > .icon.visible {
    background-image: url('down-image.png');
}

你能提供相关的HTML吗?此外,JSFIDLE也会有所帮助
$('.head').click(function(){
    $(".content").toggle();
    if ($('.content').is(':visible')) {
        $('.head > .icon').addClass('visible');
    } else {
        $('.head > .icon').removeClass('visible');
    }
});