当前位置: 首页 > 知识库问答 >
问题:

onclick可更改后台添加代码,但只能在第二次单击后更改

淳于嘉树
2023-03-14

一个图像网格,当我点击包含图像的div时,选择的div应该改变背景。现在它只做了第二次,当检查页面源代码时,我可以看到添加了更改背景style=“background-color:rgb(xxx,xxx,xxx);”的代码。

CSS

.library-grid-images{
    background-color: #c3c3c3;
}

脚本

function display_image_info(id) {
    // reset all image boxes    
    $(".library-grid-images").css( "background-color", "#c3c3c3");
    //Selected box 
    var divid = "library-image-box-"+id;
    $("#"+divid).on( "click", function( event ) {
        $(event.delegateTarget ).css( "background-color", "#878787");
    });
    $('.library-images-info').load('/fam/library/library-image-info.php?id='+id);
    // image footer actions
    $("#image-actions-footer").css("visibility", "visible");
    $('#id-image-actions-footer').val(id);
};

HTML

 <div id="library-image-box-19923" class="library-grid-images" onclick="display_image_info(19923);">

选中时

<div id="library-image-box-19923" class="library-grid-images" onclick="display_image_info(19923);" style="background-color: rgb(135, 135, 135);">

选择其他时

<div id="library-image-box-19923" class="library-grid-images" onclick="display_image_info(19923);" style="background-color: rgb(195, 195, 195);">

共有1个答案

洪楷
2023-03-14

更改JS功能

function display_image_info(id) {
    // reset all image boxes    
    $(".library-grid-images").css( "background-color", "#c3c3c3");
    //Selected box 
    var divid = "library-image-box-"+id;

    //Change Here
        $("#"+divid).css( "background-color", "#878787");
    //END Change
    
    $('.library-images-info').load('/fam/library/library-image-info.php?id='+id);
    // image footer actions
    $("#image-actions-footer").css("visibility", "visible");
    $('#id-image-actions-footer').val(id);
};

https://jsfidle.net/lalji1051/uzb4r59s/

 类似资料:
  • 我一直在探索回收站视图和Cardview,我偶然发现了一个问题,我不知道如何处理它。我的回收站视图工作正常,但是当我点击回收站视图的项目背景改变颜色时,它的行为很奇怪。 好的,回收器视图正常加载,但是当我第一次单击一个项目时,项目背景颜色会闪烁其新颜色,但会保持其默认颜色。当我第二次单击任何项目时,只有在回收器视图的项目更改其背景颜色时,它应该与单击的项目的其余部分一起更改。 从日志中。d我在代码

  • 我在几周内甚至没有接触代码,并说它属于Arraylist之后,就出现了这个错误。这就是我犯的错误。 JAVAlang.RuntimeException:无法启动活动组件信息{com.example.android.login/com.example.android.login.MainActivity}:java。lang.IndexOutOfBoundsException:索引0无效,andro

  • 我的代码生成一个输入字段,允许用户输入要搜索的值。然后当他们单击提交按钮时,它会使displayMap为true,因此当MapDisplay组件呈现时,它将通过Map组件触发API搜索并返回随后显示在地图上的值。 问题是这个过程只工作一次。当我再次单击该按钮时,它确实做了一些事情,我确认它正在输入框中获取新值,但我似乎不知道如何再次渲染地图。 我尝试在this.setState中设置其他变量,试图

  • 我有一个组件如下所示: 目前,我使用的是圆形薄图标。我想更改它,以便每次单击图标时,它都会更改为圆点图标。比如单选按钮。不过,我不太清楚如何做到这一点。 https://snack.expo.io/toTSYc2fD 我希望能够选择多个/取消选择选项。我不想在所有字段上同时应用相同的规则。 注意:onPress功能也可以直接用于图标,而不是TouchableOpacity(尽管不是首选)

  • 我已经创建了JPanel的一个子类来显示图像。我在JFrame的构造函数中实例化这一点,并将其添加到该JFrame中。这很好用。然后我添加了一个带有ActionListener的按钮来更改该图像。我的问题是JFrame不会更新,尽管我已经尝试过重新绘制等。 JPanel的子类: JFrame基本上是这样的 为什么ActionListener中的方法不更新JFrame Hauptfenster中的i

  • 我试图向ArrayList对象添加构造函数有3个参数(int,int,hashset)的对象。当我添加一个新对象时,哈希集中的值会发生某种变化,所以我添加了错误的值。例如,我创建3个对象,添加这3组整数: 但object会收到这些: 我不明白为什么集合会改变其值。这是函数代码: 在这段代码中我: > 获取对象的ArrayListallIndexedItems,描述文本中的单词(文本在mysql表中