javascript - 单击图像更改图像和调用功能

标签 javascript sorting onclick

我有一个 xhtml 页面,其中显示一个表格,该表格必须按升序和降序排序。最初我显示一个名为 01 的 img,现在单击此 01 我的图像必须更改为 02,同时还对我在外部 .js 文件中编写的 js 代码的表进行升序排序。现在,如果我再次单击图像 02,它应该通过调用外部 .js 文件中的降序函数更改为 03。

我的 xhtml 代码

 <center>
     PAID IMPRESSIONS 
     <input type="image" id="table_sorter" src="../img/up-down.png" onclick="sort_imp()" />
 </center>

我的 JavaScript 代码用于更改图像并调用另一个函数

 function sort_imp() {

            if (document.getElementById("table_sorter").src === "../img/up-down.png")
            {
                document.getElementById("table_sorter").src = "../img/view-sort_ascending.png"
               sorting_imp_asc();

            }
            else if (document.getElementById("table_sorter").src === "../img/view_sort_ascending.png")
            {
                document.getElementById("table_sorter").src = "../img/view_sort_descending.png";
               sorting_imp_des();
            }

        }

最佳答案

在这种情况下,JavaScript 从根提供图像 URL,因此无法与 ../img/.... 格式进行比较。
document.getElementById("table_sorter").src === "../img/up-down.png"

相反,您可以尝试 indexOf():

function sort_imp() {
        /*copies full img path to a string*/
        var str = document.getElementById("table_sorter").src;

        /*check that, img path contains required string*/
        if (str.indexOf("img/up-down.png")>=0) {
            document.getElementById("table_sorter").src = "../img/view-sort_ascending.png"
            sorting_imp_asc();

        }
        else if (str.indexOf("img/view-sort_ascending.png")>=0) {
            document.getElementById("table_sorter").src = "../img/view-sort_descending.png";
            sorting_imp_des();
        }

    }

关于javascript - 单击图像更改图像和调用功能,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28941465/

相关文章:

javascript - 如何防止 sprockets 缓存 .erb 文件?

pandas - 我想在列上使用 lambda 将 DataFrame 拆分为 2 个 df

algorithm - 为什么冒泡排序是 O(n^2)?

javascript - 插入状态数组的正确方法

javascript - 如何在正确的工厂 AngularJS 上编写

javascript - 是否可以从剧作家的定位器对象中获取选择器?

C# 更改数据 View 筛选器

javascript - 防止IE8中的onclick事件

javascript - jQuery:分配多个事件处理程序是非法的还是不好的做法?

android onClick 事件没有触发