烛未 2019-02-18 09:46 采纳率: 100%
浏览 1227
已采纳

js满足条件时更换图片并且实现图片闪烁

1 . 这是一个广播状态 , 默认是灰色的

<div class="huatongState fl">
<div><img src="../static/images/huatong_grey.png" th:src="@{/images//huatong_grey.png}" name = "micro" id ="micro" /></div>
<p class="p_b">广播状态</p>
</div>

2 . 需求是开启广播后有一个js , 里面需要在倒计时内时 , 更换广播状态图标 并且闪烁 效果

/* 开启通道 */
function startAisle() {
    $(".p_b.text-red").show();
    $(".p_b.text-green").hide();
    $(".active").attr("class", "active_a");
    $(".active_b").attr("class", "active_c");

    // 获取复选框中选中的信息 , 传到后台
    // 根据name的值获取到所有选中checkbox,并遍历
    $('input[name="station_name"]:checked').each(function(i) {
        if (this.checked) {
            // arr.push($(this).val());
            stationValue[i] = $(this).val();
        }

    });
    console.log(stationValue)
    console.log(areaValue)

    $('input[name="area"]:checked').each(function(i) {
        if (this.checked) {
            // arr.push($(this).val());
            areaValue[i] = $(this).val();
        }

    });
    console.log(areaValue)
    $.ajax({
        data : {
            'stationValue' : stationValue,
            'areaValue' : areaValue
        },
        type : "get",
        url : "/PaStation/getStationNameAndAera",
        dataType : "text",
        traditional : true
    /*
     * success: function (data) { console.log(data) }, error:function (data) {
     * console.log(data) }
     */
    })

    clearTimeout(ts);
    ;
    (function loop() {
        $(".p_b.text-red span").text(time--);
        if (time >= 0) {
            // 1. 话筒闪烁

            /*var pic = document.getElementsByName("micro");

            pic.find('img').attr('src','../images/huatong_yellow.png');


            setInterval('run()',1000);*/

            ts = setTimeout(loop, 1000);
        } else {

            // 倒计时结束
            clearAisle();

        }
    })();

  1. 自己写了好多次都有问题 , 麻烦大佬帮忙看一下

  2. 补充一下遗漏的代码 .....

/*function run()
{
    var imgid=document.getElementById("imgid");

     if(imgid.visibility == "visible")

       imgid.visibility = "hidden";

     else

       imgid.visibility = "visible";

    // setTimeout('run()',300);

      }*/
  • 写回答

1条回答 默认 最新

  • 天际的海浪 2019-02-18 17:04
    关注

    你发的代码还是不完整,我没法调式代码,大致是这样:

        clearTimeout(ts);
        $("#micro").attr('src','../images/huatong_yellow.png');
        var imgid=document.getElementById("imgid");
        ;(function loop() {
            $(".p_b.text-red span").text(time--);
            run();
            if (time >= 0) {
                ts = setTimeout(loop, 1000);
            } else {
                imgid.style.visibility = "visible";
                clearAisle();
            }
        })();
    
    function run()
    {
        if(imgid.style.visibility != "hidden")
           imgid.style.visibility = "hidden";
        else
           imgid.style.visibility = "visible";
    }
    
    
    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论

报告相同问题?

悬赏问题

  • ¥15 java如何提取出pdf里的文字?
  • ¥100 求三轴之间相互配合画圆以及直线的算法
  • ¥100 c语言,请帮蒟蒻写一个题的范例作参考
  • ¥15 名为“Product”的列已属于此 DataTable
  • ¥15 安卓adb backup备份应用数据失败
  • ¥15 eclipse运行项目时遇到的问题
  • ¥15 关于#c##的问题:最近需要用CAT工具Trados进行一些开发
  • ¥15 南大pa1 小游戏没有界面,并且报了如下错误,尝试过换显卡驱动,但是好像不行
  • ¥15 自己瞎改改,结果现在又运行不了了
  • ¥15 链式存储应该如何解决