我遇到了JQuery和插入Box-Shadow的问题。
首先,我有一个输入字段。
<input id="name" name="name" type="text" />
该字段具有以下css样式:
#contact input[type="text"] {
background: rgba(55,55,55, 0.6);
height:2em;
border: 1px dashed #666;
width:200px;
box-shadow:inset 0px 0px 10px #222;
border-radius: 2px;
}
好。现在是JQuery部分:
我想做什么!如果我将鼠标悬停在输入字段上,我想要一个“外部”框阴影。喜欢:boxShadow:“0px 0px 15px#750082”。但插入的盒子阴影应该是相同的!!
$(document).ready(function(){
$("#message").hover(
function()
{$(this).stop().animate({boxShadow: "0px 0px 15px #750082"},800);
},
function()
{$(this).stop().animate({boxShadow: "inset 0px 0px 10px #222222"});
});
});
问题是“外部”框阴影将显示为插入框阴影。 但我想要一个“外部”盒子阴影和一个插入盒子阴影!
我的解决方案有什么问题?有人有更好的吗?
祝你好运
修改的 我正在使用JQuery 1.6.2,用于我使用{4}}插件的方框图!
答案 0 :(得分:5)
这里有两个选项以获得相同的预期结果
1:使用<input>
<span id="nameWrapper">
<input id="name" name="name" type="text" value="" />
</span>
jQuery的:
$("#name").hover(function() {
$(this).parent().stop().animate({
boxShadow: "0px 0px 15px #750082"
}, 800);
}, function() {
$(this).parent().stop().animate({
boxShadow: ""
}, 800);
});
2:改用CSS3过渡
CSS:
#contact input[type="text"] {
background: rgba(55,55,55, 0.6);
height:2em;
border: 1px dashed #666;
width:200px;
box-shadow:inset 0px 0px 10px #222;
border-radius: 2px;
outline:0;/* prevent webkit highlight on focus */
-webkit-transition: all 0.8s ease-in-out;
-moz-transition: all 0.8s ease-in-out;
-ms-transition: all 0.8s ease-in-out;
-o-transition: all 0.8s ease-in-out;
transition: all 0.8s ease-in-out;
}
#contact input[type="text"]:hover {
/* set both shadows */
box-shadow:inset 0px 0px 10px #222,0px 0px 15px #750082;
}
你可以考虑编写影子插件的作者来通知他/她这个问题。