transition-如下一段简单的代码,有两个疑惑请求解答一下

问题描述

如下一段简单的代码,有两个疑惑请求解答一下

HTML代码:

 <form method="post" action="#" name="form">
     <label for="user_ball">运动类型</label>
     <input type="text" name="user_ball" id="user_ball" list="ball" />
     <datalist id="ball">
        <option value="篮球" />
        <option value="排球" />
        <option value="足球" />
     </datalist>
     <br /><br />
     <input type="submit" />
 </form>

CSS代码:

input{
    width:300px;
    min-height:30px;
    display:block;
    transition:all 0.5s ease-in-out;
} 

form input:valid{
    background:url("tick.gif") no-repeat 260px 0;
}

form input:focus:invaild{
    backgruond:url("cancel.gif") no-repeat 260px 0;
}

这是tick.gif图片:
这是cancel.gif图片:
JS代码:

var user_ball;
function load(){
    user_ball = document.form.user_ball;
    user_ball.addEventListener('change', checkUserBall, false);
}

function checkUserBall(){
    if(isUserBall(user_ball.value) == null){
        user_ball.setCustomValidity("请选择正确的选项");
        user_ball.validationMessage;
    }else{
        user_ball.setCustomValidity("");
    }
}

function isUserBall(str){
    if(str != '篮球' && str != '排球' && str != '足球'){
        return null;
    }
}

window.addEventListener('load', load, false);

疑惑:
1、每次运行,无论写入的是不是预定的篮球、足球、排球,都会报错,这是问什么?
2、设置了动画后,每次点击了输入框,里面的图片为何总是从左飞到右边?我不是已经设置了图片的位置为右边的吗?这个位置不是固定的吗?我又没使用animation属性

解决方案


    function isUserBall(str) {
        if (str != '篮球' && str != '排球' && str != '足球') {
            return null;
        }
        return true;//////不走上面的判断你要return true,要不返回值是undefined和null对比是true
    }

你设置了transition,由于默认背景的只是0 0,valid后变为260px 0,所以当然会有动画效果,如果不需要动画,设置好默认的背景图片位置

 input{
    width:300px;
    min-height:30px;
    display:block;
    transition:all 0.5s ease-in-out;
    background-position:260px 0;
}
时间: 2024-10-06 08:34:30

transition-如下一段简单的代码,有两个疑惑请求解答一下的相关文章

javascript-有没有比这段简单的代码

问题描述 有没有比这段简单的代码 网上找的,效果是达到了 ,但是boss居然不满意 ,叫我写简单点 解决方案 var pos = 0; setInterval(function(){ pos++; if(pos>5) pos = 1; document.getElementsByTagName(""body"")[0].style.background = ""url(images/0""+pos+""

一段简单的代码,如何做。。。

问题描述 此段代码打印如下:项目名称所属分行主办部门投入金额项目状态项目管理平台软件开发中心信息技术管理部1600000已完成项目管理平台软件开发中心信息技术管理部1600000已完成如何才能对齐呢?例如:项目名称所属分行主办部门投入金额项目状态项目管理平台软件开发中心信息技术管理部1600000 已完成项目管理平台软件开发中心信息技术管理部1600000 已完成/***@paramargs*/publicstaticvoidmain(String[]args){//TODOAuto-gener

java编写了一段简单的代码,编译后显示错误,请高手看看

问题描述 编译后显示错误,菜鸟一个,不知道如何修改.请高手帮忙修改下.代码如下classvalue{privatedoublea=11.11;privatedoubleb=22.22;privatedoublec=33.33;privatedoubled=44.44;publicvoidpri(){System.out.println("四个数值分别为:"+a+","+b+","+c+","+d+".");

html-如下一段简单的HTML-CSS代码,为何加了overflow就能实现目的?

问题描述 如下一段简单的HTML-CSS代码,为何加了overflow就能实现目的? 目的:HTML中两块div,右侧固定宽度200px,左边的填满剩下的宽度 要求:左侧的div宽度是随可视区宽度变化而变化的,不能用calc()和CSS预处理语言 HTML: <div class="right"></div> <div class="left"></div> CSS: .left { overflow: hidden;

一段简单的c代码,一直报错,求大神们指点

问题描述 一段简单的c代码,一直报错,求大神们指点 char * reverse_str(char *s){ char *p = s; char *q = s; char temp = 0; while(*q != ''){ q++; } q--;//前一个字符 while(p < q){ temp = *p; *p = *q; *q = temp; p++; q--; } return s; } 调试之后发现是交换那段循环的问题,不知道问题出在哪,求指点! 解决方案 http://codepa

android-一段很简单的代码 Eclipse没有报错 可是手机上一点按钮就意外停止

问题描述 一段很简单的代码 Eclipse没有报错 可是手机上一点按钮就意外停止 (http://img.ask.csdn.net/upload/201505/31/1433054546_331226.png) 和书上对比了好多次了-.- 第一个 ```package com.example.ex04_01; import android.app.Activity; import android.content.Intent; import android.os.Bundle; import a

分享两段简单的JS代码防止SQL注入_javascript技巧

1.URL地址防注入: //过滤URL非法SQL字符 var sUrl=location.search.toLowerCase(); var sQuery=sUrl.substring(sUrl.indexOf("=")+1); re=/select|update|delete|truncate|join|union|exec|insert|drop|count|'|"|;|>|<|%/i; if(re.test(sQuery)) { alert("请勿

php实现的一段简单概率相关代码_php技巧

本文实例讲述了php实现的一段简单概率相关代码.分享给大家供大家参考,具体如下: <?php for($i=1;$i<100000;$i++){ $x=mt_rand(0,100); if($x<20){ $a=$a+1; } else{ if($x<50){ $b=$b+1; } else{ $c=$c+1; } } } echo $a . '<br />'; echo $b . '<br />'; echo $c . '<br />'; ?&

js判断ie版本号的简单实现代码

 本篇文章主要是对js判断ie版本号的简单实现代码进行了介绍,需要的朋友可以过来参考下,希望对大家有所帮助 jQuery 2.0 去除了对浏览器版本号的判断(它推荐特性检测),这里是一个老外写的原生判断方法,这段代码着实巧妙!既简介.有向后兼容!一般做法都是:正则搜索 USER_AGENT : 但因为历史原因, USER_AGENT 一直都不准确,而且被各大厂商改的乱七八糟.: 比如:   IE10 : Mozilla/5.0 (compatible; MSIE 10.0; Windows NT